Class: StatusCodeError¶
Defined in: api.ts:196
An error that will be thrown by Fetcher.fetch when the fetcher response has an HTTP status code of 400 or greater.
This class largely models the StatusCodeError from the (now deprecated) request-promise library,
which has a quirky structure.
Example¶
let response;
try {
response = await context.fetcher.fetch({
method: "GET",
// Open this URL in your browser to see what the data looks like.
url: "https://api.artic.edu/api/v1/artworks/123",
});
} catch (error) {
// If the request failed because the server returned a 300+ status code.
if (coda.StatusCodeError.isStatusCodeError(error)) {
// Cast the error as a StatusCodeError, for better intellisense.
let statusError = error as coda.StatusCodeError;
// If the API returned an error message in the body, show it to the user.
let message = statusError.body?.detail;
if (message) {
throw new coda.UserVisibleError(message);
}
}
// The request failed for some other reason. Re-throw the error so that it
// bubbles up.
throw error;
}
See¶
Extends¶
Error
Properties¶
body¶
body:
any
Defined in: api.ts:208
The parsed body of the HTTP response.
error¶
error:
any
Defined in: api.ts:212
Alias for body.
name¶
name:
string='StatusCodeError'
Defined in: api.ts:200
The name of the error, for identification purposes.
Overrides¶
Error.name
options¶
options:
FetchRequest
Defined in: api.ts:216
The original fetcher request used to make this HTTP request.
response¶
response:
StatusCodeErrorResponse
Defined in: api.ts:220
The raw HTTP response, including headers.
statusCode¶
statusCode:
number
Defined in: api.ts:204
The HTTP status code, e.g. 404.
Methods¶
isStatusCodeError()¶
staticisStatusCodeError(err):err is StatusCodeError
Defined in: api.ts:242
Returns if the error is an instance of StatusCodeError. Note that instanceof may not work.
Parameters¶
| Parameter | Type |
|---|---|
err |
any |
Returns¶
err is StatusCodeError