Skip to content

Latest commit

 

History

History
93 lines (77 loc) · 2.27 KB

README.md

File metadata and controls

93 lines (77 loc) · 2.27 KB

request-error.js

Error class for Octokit request errors

@latest Build Status

Usage

Browsers Load @octokit/request-error directly from esm.sh
<script type="module">
import { RequestError } from "https://esm.sh/@octokit/request-error";
</script>
Node

Install with npm install @octokit/request-error

import { RequestError } from "@octokit/request-error";

Important

As we use conditional exports, you will need to adapt your tsconfig.json by setting "moduleResolution": "node16", "module": "node16".

See the TypeScript docs on package.json "exports".
See this helpful guide on transitioning to ESM from @sindresorhus

const error = new RequestError("Oops", 500, {
  request: {
    method: "POST",
    url: "https://api.github.com/foo",
    body: {
      bar: "baz",
    },
    headers: {
      authorization: "token secret123",
    },
  },
  response: {
    status: 500,
    url: "https://api.github.com/foo",
    headers: {
      "x-github-request-id": "1:2:3:4",
    },
    data: {
      foo: "bar",
    },
  },
});

error.message; // Oops
error.status; // 500
error.request; // { method, url, headers, body }
error.response; // { url, status, headers, data }

Usage with Octokit

try {
  // your code here that sends at least one Octokit request
  await octokit.request("GET /");
} catch (error) {
  // Octokit errors always have a `error.status` property which is the http response code
  if (error.status) {
    // handle Octokit error
  } else {
    // handle all other errors
    throw error;
  }
}

LICENSE

MIT