mirror of
https://github.com/actions/setup-node
synced 2024-11-10 07:32:40 +00:00
55 lines
1.9 KiB
JavaScript
55 lines
1.9 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
Object.defineProperty(exports, '__esModule', { value: true });
|
||
|
|
||
|
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
||
|
|
||
|
var deprecation = require('deprecation');
|
||
|
var once = _interopDefault(require('once'));
|
||
|
|
||
|
const logOnce = once(deprecation => console.warn(deprecation));
|
||
|
/**
|
||
|
* Error with extra properties to help with debugging
|
||
|
*/
|
||
|
|
||
|
class RequestError extends Error {
|
||
|
constructor(message, statusCode, options) {
|
||
|
super(message); // Maintains proper stack trace (only available on V8)
|
||
|
|
||
|
/* istanbul ignore next */
|
||
|
|
||
|
if (Error.captureStackTrace) {
|
||
|
Error.captureStackTrace(this, this.constructor);
|
||
|
}
|
||
|
|
||
|
this.name = "HttpError";
|
||
|
this.status = statusCode;
|
||
|
Object.defineProperty(this, "code", {
|
||
|
get() {
|
||
|
logOnce(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));
|
||
|
return statusCode;
|
||
|
}
|
||
|
|
||
|
});
|
||
|
this.headers = options.headers; // redact request credentials without mutating original request options
|
||
|
|
||
|
const requestCopy = Object.assign({}, options.request);
|
||
|
|
||
|
if (options.request.headers.authorization) {
|
||
|
requestCopy.headers = Object.assign({}, options.request.headers, {
|
||
|
authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]")
|
||
|
});
|
||
|
}
|
||
|
|
||
|
requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit
|
||
|
// see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications
|
||
|
.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended
|
||
|
// see https://developer.github.com/v3/#oauth2-token-sent-in-a-header
|
||
|
.replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
|
||
|
this.request = requestCopy;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
exports.RequestError = RequestError;
|