Skip to content

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

Fetching remote data - Errors

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()

static isStatusCodeError(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