aws-delivlib
Version:
A fabulous library for defining continuous pipelines for building, testing and releasing code libraries.
40 lines (39 loc) • 1.25 kB
JavaScript
import { parseRequest } from "./parse-request";
import { sendResponse } from "./send-response";
import { onUnhandledRequestDefault } from "../on-unhandled-request-default";
import { handleRequest } from "../handle-request";
import { OAuthApp } from "../../index";
function onUnhandledRequestDefaultNode(request, response) {
const octokitRequest = parseRequest(request);
const octokitResponse = onUnhandledRequestDefault(octokitRequest);
sendResponse(octokitResponse, response);
}
function createNodeMiddleware(app, {
pathPrefix,
onUnhandledRequest
} = {}) {
if (onUnhandledRequest) {
app.octokit.log.warn(
"[@octokit/oauth-app] `onUnhandledRequest` is deprecated and will be removed from the next major version."
);
}
onUnhandledRequest ??= onUnhandledRequestDefaultNode;
return async function(request, response, next) {
const octokitRequest = parseRequest(request);
const octokitResponse = await handleRequest(
app,
{ pathPrefix },
octokitRequest
);
if (octokitResponse) {
sendResponse(octokitResponse, response);
} else if (typeof next === "function") {
next();
} else {
onUnhandledRequest(request, response);
}
};
}
export {
createNodeMiddleware
};