| # http-error.js | |
| > Error class for Octokit request errors | |
| [](https://www.npmjs.com/package/@octokit/request-error) | |
| [](https://github.com/octokit/request-error.js/actions?query=workflow%3ATest) | |
| ## Usage | |
| <table> | |
| <tbody valign=top align=left> | |
| <tr><th> | |
| Browsers | |
| </th><td width=100%> | |
| Load <code>@octokit/request-error</code> directly from <a href="https://esm.sh">esm.sh</a> | |
| ```html | |
| <script type="module"> | |
| import { RequestError } from "https://esm.sh/@octokit/request-error"; | |
| </script> | |
| ``` | |
| </td></tr> | |
| <tr><th> | |
| Node | |
| </th><td> | |
| Install with <code>npm install @octokit/request-error</code> | |
| ```js | |
| const { RequestError } = require("@octokit/request-error"); | |
| // or: import { RequestError } from "@octokit/request-error"; | |
| ``` | |
| </td></tr> | |
| </tbody> | |
| </table> | |
| ```js | |
| 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 | |
| ```js | |
| 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](LICENSE) | |