Skip to main content

Variable: PROBLEMS

const PROBLEMS: object

Defined in: packages/common/src/problem.ts:44

The registry of error kinds. One row per taxonomy category (chapter 30), plus the two HTTP-level ones the taxonomy implies (unauthenticated, unavailable).

not-found is also what an out-of-scope resource returns: the response for a resource the caller may not see is byte-identical to one that does not exist, because the difference is an enumeration oracle. forbidden is only for an OPERATION the caller's role never permits, where no resource's existence is at issue.

Type Declaration​

conflict​

readonly conflict: object

conflict.callerShould​

readonly callerShould: "re-read-and-retry-once" = 're-read-and-retry-once'

conflict.slug​

readonly slug: "conflict" = 'conflict'

conflict.status​

readonly status: 409 = 409

conflict.title​

readonly title: "A concurrent change conflicted with this request" = 'A concurrent change conflicted with this request'

forbidden​

readonly forbidden: object

forbidden.callerShould​

readonly callerShould: "stop" = 'stop'

forbidden.slug​

readonly slug: "forbidden" = 'forbidden'

forbidden.status​

readonly status: 403 = 403

forbidden.title​

readonly title: "This operation is not permitted" = 'This operation is not permitted'

internal​

readonly internal: object

internal.callerShould​

readonly callerShould: "retry-with-backoff" = 'retry-with-backoff'

internal.slug​

readonly slug: "internal" = 'internal'

internal.status​

readonly status: 500 = 500

internal.title​

readonly title: "An internal error occurred" = 'An internal error occurred'

misdirectedRequest​

readonly misdirectedRequest: object

misdirectedRequest.callerShould​

readonly callerShould: "stop" = 'stop'

misdirectedRequest.slug​

readonly slug: "misdirected-request" = 'misdirected-request'

misdirectedRequest.status​

readonly status: 421 = 421

misdirectedRequest.title​

readonly title: "This request was not addressed to this host" = 'This request was not addressed to this host'

notFound​

readonly notFound: object

notFound.callerShould​

readonly callerShould: "stop" = 'stop'

notFound.slug​

readonly slug: "not-found" = 'not-found'

notFound.status​

readonly status: 404 = 404

notFound.title​

readonly title: "The resource was not found" = 'The resource was not found'

payloadTooLarge​

readonly payloadTooLarge: object

payloadTooLarge.callerShould​

readonly callerShould: "fix-and-retry" = 'fix-and-retry'

payloadTooLarge.slug​

readonly slug: "payload-too-large" = 'payload-too-large'

payloadTooLarge.status​

readonly status: 413 = 413

payloadTooLarge.title​

readonly title: "The request body is too large" = 'The request body is too large'

state​

readonly state: object

state.callerShould​

readonly callerShould: "re-read-and-decide" = 're-read-and-decide'

state.slug​

readonly slug: "state" = 'state'

state.status​

readonly status: 409 = 409

state.title​

readonly title: "The resource is not in a state that allows this" = 'The resource is not in a state that allows this'

tooManyRequests​

readonly tooManyRequests: object

tooManyRequests.callerShould​

readonly callerShould: "stop" = 'stop'

tooManyRequests.slug​

readonly slug: "too-many-requests" = 'too-many-requests'

tooManyRequests.status​

readonly status: 429 = 429

tooManyRequests.title​

readonly title: "Too many requests" = 'Too many requests'

unauthenticated​

readonly unauthenticated: object

unauthenticated.callerShould​

readonly callerShould: "authenticate" = 'authenticate'

unauthenticated.slug​

readonly slug: "unauthenticated" = 'unauthenticated'

unauthenticated.status​

readonly status: 401 = 401

unauthenticated.title​

readonly title: "Authentication is required" = 'Authentication is required'

unavailable​

readonly unavailable: object

unavailable.callerShould​

readonly callerShould: "retry-with-backoff" = 'retry-with-backoff'

unavailable.slug​

readonly slug: "unavailable" = 'unavailable'

unavailable.status​

readonly status: 503 = 503

unavailable.title​

readonly title: "The service cannot serve this right now" = 'The service cannot serve this right now'

unsupportedMediaType​

readonly unsupportedMediaType: object

unsupportedMediaType.callerShould​

readonly callerShould: "fix-and-retry" = 'fix-and-retry'

unsupportedMediaType.slug​

readonly slug: "unsupported-media-type" = 'unsupported-media-type'

unsupportedMediaType.status​

readonly status: 415 = 415

unsupportedMediaType.title​

readonly title: "The request body has an unsupported media type" = 'The request body has an unsupported media type'

upstream​

readonly upstream: object

upstream.callerShould​

readonly callerShould: "retry-with-backoff" = 'retry-with-backoff'

upstream.slug​

readonly slug: "upstream" = 'upstream'

upstream.status​

readonly status: 502 = 502

upstream.title​

readonly title: "A system we depend on failed" = 'A system we depend on failed'

validation​

readonly validation: object

validation.callerShould​

readonly callerShould: "fix-and-retry" = 'fix-and-retry'

validation.slug​

readonly slug: "validation" = 'validation'

validation.status​

readonly status: 400 = 400

validation.title​

readonly title: "The request is malformed" = 'The request is malformed'