Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | 25x 25x 25x 7x 25x 1x 6x 6x 6x | import { TypedEnv } from './types'
export type FlowErrorParams = {
message: string
httpStatus?: number
isPrivate?: boolean
}
export class FlowError extends Error {
readonly httpStatus: number
// When set to true, the message will not be returned in the response.
readonly isPrivate: boolean = true
constructor(params: FlowErrorParams) {
super(params.message)
if (typeof params.isPrivate === 'boolean') {
this.isPrivate = params.isPrivate
}
this.httpStatus = params.httpStatus ?? 500
}
}
export class MissingVariableError extends FlowError {
constructor(variable: keyof TypedEnv) {
super({
message: `${variable} is not set.`,
isPrivate: false,
})
}
}
export class InvalidVariableError extends FlowError {
constructor(variable: keyof TypedEnv, message: string) {
super({
message: `${variable} is invalid: ${message}`,
isPrivate: false,
})
}
}
export class AssetsNotAvailableError extends FlowError {
constructor() {
super({
message: 'env.ASSETS are not available. This is most likely caused by an invalid wrangler.jsonc configuration.',
isPrivate: false,
})
}
}
export class SignalsNotAvailableError extends FlowError {
constructor() {
super({
message: 'Signals were not found in this protected API call.',
httpStatus: 403,
})
}
}
export class HeaderMissingError extends FlowError {
constructor(header: string) {
super({
message: `${header} header is missing.`,
httpStatus: 403,
})
}
}
export class IdentificationRequestFailedError extends FlowError {
constructor(message: string, status: number) {
super({
message: `Ingress request failed with ${status} status: ${message}`,
httpStatus: 403,
})
}
}
|