mirror of
https://github.com/bcomnes/deploy-to-neocities.git
synced 2026-01-21 17:01:54 +00:00
commit node_modules
This commit is contained in:
101
node_modules/fetch-errors/README.md
generated
vendored
Normal file
101
node_modules/fetch-errors/README.md
generated
vendored
Normal file
@@ -0,0 +1,101 @@
|
||||
# fetch-errors
|
||||
[](https://github.com/bcomnes/fetch-errors/actions)
|
||||
[](https://github.com/standard-things/esm)
|
||||
|
||||
Error subclasses for Text and JSON `fetch` response bodies, and a `handleResponse` fuction to handle fetch responses cleanly.
|
||||
|
||||
```
|
||||
npm install fetch-errors
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
``` js
|
||||
import {
|
||||
HTTPError,
|
||||
TextHTTPError,
|
||||
JSONHTTPError,
|
||||
handleResponse
|
||||
} from 'fetch-errors';
|
||||
|
||||
window.fetch('https://api.github.com/users/bcomnes/repos')
|
||||
.then(handleResponse)
|
||||
.then(json => { console.log(json); })
|
||||
.catch(err => {
|
||||
switch (err.constructor) {
|
||||
case JSONHTTPError: {
|
||||
console.error(err.message);
|
||||
console.error(err.status);
|
||||
console.error(err.json);
|
||||
console.error(err.stack);
|
||||
break;
|
||||
}
|
||||
case TextHTTPError: {
|
||||
console.error(err.message);
|
||||
console.error(err.status);
|
||||
console.error(err.data);
|
||||
console.error(err.stack);
|
||||
break;
|
||||
}
|
||||
case HTTPError: {
|
||||
console.error(err.message);
|
||||
console.error(err.status);
|
||||
console.error(err.stack);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
console.error(err);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### `async handleResponse(response)`
|
||||
|
||||
Parse JSON or text bodies of [`fetch`][fetch] [`Response`][response] objects. Intended for APIs that return JSON, but falls back to `response.text()` body reading when the `json` `Content-type` is missing. If `response.ok`, returns a JS object (if JSON), or the text content of the response body. Otherwise, returns a `JSONHTTPError` or `TextHTTPError`. If if `response.json()` or `resonse.text()` will throw their [native error]() objects.
|
||||
|
||||
### `class HTTPError extends Error`
|
||||
|
||||
Additional error properties from Error
|
||||
|
||||
```js
|
||||
{
|
||||
stack, // stack trace of error
|
||||
status // status code of response
|
||||
}
|
||||
```
|
||||
|
||||
### `class TextHTTPError extends HTTPError`
|
||||
|
||||
Additional error properties from HTTPError
|
||||
|
||||
```js
|
||||
{
|
||||
data // data of text response
|
||||
}
|
||||
```
|
||||
|
||||
### `class JSONHTTPError extends HTTPError`
|
||||
|
||||
Additional error properties from HTTPError
|
||||
|
||||
```js
|
||||
{
|
||||
json // json of a JSON response
|
||||
}
|
||||
```
|
||||
|
||||
### See also
|
||||
|
||||
- [netlify/micro-api-client](https://github.com/netlify/micro-api-client): These errors were extracted from netlify/micro-api-client for individual use.
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
|
||||
[response]: https://developer.mozilla.org/en-US/docs/Web/API/Response
|
||||
[fetch]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
|
||||
Reference in New Issue
Block a user