mirror of
https://github.com/github/codeql-action.git
synced 2025-12-27 01:30:10 +08:00
23 lines
778 B
JavaScript
23 lines
778 B
JavaScript
import { auth } from "./auth.js";
|
|
import { requiresBasicAuth } from "./requires-basic-auth.js";
|
|
async function hook(state, request, route, parameters = {}) {
|
|
const endpoint = request.endpoint.merge(
|
|
route,
|
|
parameters
|
|
);
|
|
if (/\/login\/(oauth\/access_token|device\/code)$/.test(endpoint.url)) {
|
|
return request(endpoint);
|
|
}
|
|
if (requiresBasicAuth(endpoint.url)) {
|
|
const credentials = btoa(`${state.clientId}:${state.clientSecret}`);
|
|
endpoint.headers.authorization = `basic ${credentials}`;
|
|
return request(endpoint);
|
|
}
|
|
const { token } = state.clientType === "oauth-app" ? await auth({ ...state, request }) : await auth({ ...state, request });
|
|
endpoint.headers.authorization = "token " + token;
|
|
return request(endpoint);
|
|
}
|
|
export {
|
|
hook
|
|
};
|