UNPKG

@octokit/oauth-methods

Version:

Set of stateless request methods to create, check, reset, refresh, and delete user access tokens for OAuth and GitHub Apps

35 lines (34 loc) 1 kB
import { RequestError } from "@octokit/request-error"; function requestToOAuthBaseUrl(request) { const endpointDefaults = request.endpoint.DEFAULTS; return /^https:\/\/(api\.)?github\.com$/.test(endpointDefaults.baseUrl) ? "https://github.com" : endpointDefaults.baseUrl.replace("/api/v3", ""); } async function oauthRequest(request, route, parameters) { const withOAuthParameters = { baseUrl: requestToOAuthBaseUrl(request), headers: { accept: "application/json" }, ...parameters }; const response = await request(route, withOAuthParameters); if ("error" in response.data) { const error = new RequestError( `${response.data.error_description} (${response.data.error}, ${response.data.error_uri})`, 400, { request: request.endpoint.merge( route, withOAuthParameters ) } ); error.response = response; throw error; } return response; } export { oauthRequest, requestToOAuthBaseUrl };