github.com/jfrog/frogbot@v1.1.1-0.20231221090046-821a26f50338/action/node_modules/@octokit/request-error/dist-web/index.js (about)

     1  import { Deprecation } from 'deprecation';
     2  import once from 'once';
     3  
     4  const logOnceCode = once((deprecation) => console.warn(deprecation));
     5  const logOnceHeaders = once((deprecation) => console.warn(deprecation));
     6  /**
     7   * Error with extra properties to help with debugging
     8   */
     9  class RequestError extends Error {
    10      constructor(message, statusCode, options) {
    11          super(message);
    12          // Maintains proper stack trace (only available on V8)
    13          /* istanbul ignore next */
    14          if (Error.captureStackTrace) {
    15              Error.captureStackTrace(this, this.constructor);
    16          }
    17          this.name = "HttpError";
    18          this.status = statusCode;
    19          let headers;
    20          if ("headers" in options && typeof options.headers !== "undefined") {
    21              headers = options.headers;
    22          }
    23          if ("response" in options) {
    24              this.response = options.response;
    25              headers = options.response.headers;
    26          }
    27          // redact request credentials without mutating original request options
    28          const requestCopy = Object.assign({}, options.request);
    29          if (options.request.headers.authorization) {
    30              requestCopy.headers = Object.assign({}, options.request.headers, {
    31                  authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]"),
    32              });
    33          }
    34          requestCopy.url = requestCopy.url
    35              // client_id & client_secret can be passed as URL query parameters to increase rate limit
    36              // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications
    37              .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]")
    38              // OAuth tokens can be passed as URL query parameters, although it is not recommended
    39              // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header
    40              .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
    41          this.request = requestCopy;
    42          // deprecations
    43          Object.defineProperty(this, "code", {
    44              get() {
    45                  logOnceCode(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));
    46                  return statusCode;
    47              },
    48          });
    49          Object.defineProperty(this, "headers", {
    50              get() {
    51                  logOnceHeaders(new Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));
    52                  return headers || {};
    53              },
    54          });
    55      }
    56  }
    57  
    58  export { RequestError };
    59  //# sourceMappingURL=index.js.map