Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@master4n/http-status

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@master4n/http-status - npm Package Compare versions

Comparing version
2.0.0
to
2.0.1
+56
types-4vBUR0dr.d.cts
type HttpStatusCategory = 'Informational' | 'Success' | 'Redirection' | 'Client Error' | 'Server Error' | 'Vendor Extension';
type HttpStatusSource = 'IANA' | 'Cloudflare' | 'Nginx';
type HttpMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'CONNECT' | 'TRACE';
type RetryStrategy = 'never' | 'immediate' | 'exponential-backoff' | 'respect-retry-after';
/**
* Cacheability classification by status code alone, per RFC 9111 §4.2.2.
* `'heuristic'`: a cache MAY store the response without explicit freshness
* headers. `'uncacheable'`: not cacheable by status alone (explicit
* `Cache-Control`/`Expires` headers may still apply).
*/
type Cacheability = 'heuristic' | 'uncacheable';
interface RelatedHeader {
readonly name: string;
readonly required: boolean;
readonly purpose: string;
}
/**
* Authored guidance. NOT derived from the spec. Treat as recommendation, not normative fact.
*/
interface HttpStatusGuidance {
readonly isRetryable: boolean;
readonly retryStrategy: RetryStrategy;
readonly agentAction: string;
readonly commonCauses: readonly string[];
readonly relatedStatuses: readonly number[];
}
/**
* Spec-derivable metadata. Every field is backed by `specUrl`.
*/
interface HttpStatusMetadata {
readonly code: number;
readonly phrase: string;
readonly category: HttpStatusCategory;
readonly source: HttpStatusSource;
readonly rfc: string | null;
readonly specUrl: string;
readonly description: string;
readonly expectsEmptyBody: boolean;
/**
* Cacheability by status alone, per RFC 9111 §4.2.2: `'heuristic'` if a cache
* MAY store the response without explicit freshness headers, else
* `'uncacheable'`. (Renamed from `isCacheable: boolean | 'heuristic'` in 2.0.1
* for a clean string enum; the `isCacheable()` predicate in `/utils` still
* exists and returns a boolean.)
*/
readonly cacheability: Cacheability;
readonly requiresAuth: boolean;
readonly safeForMethods: readonly HttpMethod[] | 'all';
readonly relatedHeaders: readonly RelatedHeader[];
readonly aliases: readonly string[];
readonly deprecated: boolean;
readonly guidance: HttpStatusGuidance;
}
type HttpStatusRegistryMap = Readonly<Record<number, HttpStatusMetadata>>;
export type { Cacheability as C, HttpMethod as H, RelatedHeader as R, HttpStatusCategory as a, HttpStatusGuidance as b, HttpStatusMetadata as c, HttpStatusRegistryMap as d, HttpStatusSource as e, RetryStrategy as f };
type HttpStatusCategory = 'Informational' | 'Success' | 'Redirection' | 'Client Error' | 'Server Error' | 'Vendor Extension';
type HttpStatusSource = 'IANA' | 'Cloudflare' | 'Nginx';
type HttpMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'CONNECT' | 'TRACE';
type RetryStrategy = 'never' | 'immediate' | 'exponential-backoff' | 'respect-retry-after';
/**
* Cacheability classification by status code alone, per RFC 9111 §4.2.2.
* `'heuristic'`: a cache MAY store the response without explicit freshness
* headers. `'uncacheable'`: not cacheable by status alone (explicit
* `Cache-Control`/`Expires` headers may still apply).
*/
type Cacheability = 'heuristic' | 'uncacheable';
interface RelatedHeader {
readonly name: string;
readonly required: boolean;
readonly purpose: string;
}
/**
* Authored guidance. NOT derived from the spec. Treat as recommendation, not normative fact.
*/
interface HttpStatusGuidance {
readonly isRetryable: boolean;
readonly retryStrategy: RetryStrategy;
readonly agentAction: string;
readonly commonCauses: readonly string[];
readonly relatedStatuses: readonly number[];
}
/**
* Spec-derivable metadata. Every field is backed by `specUrl`.
*/
interface HttpStatusMetadata {
readonly code: number;
readonly phrase: string;
readonly category: HttpStatusCategory;
readonly source: HttpStatusSource;
readonly rfc: string | null;
readonly specUrl: string;
readonly description: string;
readonly expectsEmptyBody: boolean;
/**
* Cacheability by status alone, per RFC 9111 §4.2.2: `'heuristic'` if a cache
* MAY store the response without explicit freshness headers, else
* `'uncacheable'`. (Renamed from `isCacheable: boolean | 'heuristic'` in 2.0.1
* for a clean string enum; the `isCacheable()` predicate in `/utils` still
* exists and returns a boolean.)
*/
readonly cacheability: Cacheability;
readonly requiresAuth: boolean;
readonly safeForMethods: readonly HttpMethod[] | 'all';
readonly relatedHeaders: readonly RelatedHeader[];
readonly aliases: readonly string[];
readonly deprecated: boolean;
readonly guidance: HttpStatusGuidance;
}
type HttpStatusRegistryMap = Readonly<Record<number, HttpStatusMetadata>>;
export type { Cacheability as C, HttpMethod as H, RelatedHeader as R, HttpStatusCategory as a, HttpStatusGuidance as b, HttpStatusMetadata as c, HttpStatusRegistryMap as d, HttpStatusSource as e, RetryStrategy as f };
+24
-0
# Changelog
## 2.0.1
API consistency for cacheability. (Released as a patch, but note the type changes
below are technically breaking for code that read the old shapes.)
### Changed
- **`isCacheable(code)` now returns a plain `boolean`** (was `boolean | 'heuristic'`).
It returns `true` for heuristically-cacheable codes, consistent with the other
`is*` predicates. Code doing `isCacheable(c) === 'heuristic'` should switch to
the new `cacheability()` function.
- **Metadata field `isCacheable` renamed to `cacheability`** with a clean string
enum: `'heuristic' | 'uncacheable'` (was `boolean | 'heuristic'`, which only ever
held `'heuristic'` or `false` in practice). Applies to every registry entry and
to `http-status-registry.json`.
### Added
- **`cacheability(code): 'heuristic' | 'uncacheable'`** — precise RFC 9111 §4.2.2
classification (the string form of `isCacheable`).
- **`Cacheability` type** exported from the package root and `/utils`.
- Documented the predicate input contract: predicates expect a real status int and
do not validate the domain (use `getMetadata` to detect unknown codes).
## 2.0.0 — BREAKING

@@ -4,0 +28,0 @@

+1
-1

@@ -1,2 +0,2 @@

'use strict';var r={WEB_SERVER_RETURNED_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMED_OUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURRED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,ORIGIN_DNS_ERROR:530},e="https://developers.cloudflare.com/support/troubleshooting/http-status-codes/5xx-errors/",t={520:{code:520,phrase:"Web Server Returned an Unknown Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-520-web-server-returns-an-unknown-error`,description:"The origin server returned an empty, unknown, or unexpected response to Cloudflare.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, the origin is misbehaving and needs operator attention.",commonCauses:["Origin crashed mid-response","Origin returned malformed HTTP"],relatedStatuses:[502]}},521:{code:521,phrase:"Web Server Is Down",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-521-web-server-is-down`,description:"The origin server refused the connection from Cloudflare. Cloudflare could not establish a TCP connection.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; verify origin is running and not blocking Cloudflare IPs.",commonCauses:["Origin down","Cloudflare IPs blocked at firewall"],relatedStatuses:[502,503]}},522:{code:522,phrase:"Connection Timed Out",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-522-connection-timed-out`,description:"Cloudflare could not negotiate a TCP handshake with the origin server before timing out.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; investigate origin network reachability.",commonCauses:["Origin overloaded","Network partition between CF and origin"],relatedStatuses:[504]}},523:{code:523,phrase:"Origin Is Unreachable",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-523-origin-is-unreachable`,description:"Cloudflare could not reach the origin server, commonly due to a routing/BGP issue or invalid DNS record.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, check origin DNS and routing.",commonCauses:["DNS record points to wrong IP","BGP routing problem"],relatedStatuses:[530]}},524:{code:524,phrase:"A Timeout Occurred",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-524-a-timeout-occurred`,description:"Cloudflare successfully connected and sent data to the origin, but the origin took too long to respond with an HTTP response.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; for long-running requests, consider an async pattern (e.g., 202 + polling).",commonCauses:["Long-running origin request exceeded the 100-second CF limit."],relatedStatuses:[504,408]}},525:{code:525,phrase:"SSL Handshake Failed",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-525-ssl-handshake-failed`,description:"Cloudflare could not negotiate an SSL/TLS handshake with the origin server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: align cipher suites and TLS versions between CF and origin.",commonCauses:["No common cipher suite","TLS version mismatch"],relatedStatuses:[526]}},526:{code:526,phrase:"Invalid SSL Certificate",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-526-invalid-ssl-certificate`,description:"Cloudflare could not validate the SSL certificate on the origin web server when SSL Full (strict) mode is active.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: install a valid origin certificate or relax SSL mode.",commonCauses:["Expired or self-signed origin cert","Hostname mismatch"],relatedStatuses:[525]}},527:{code:527,phrase:"Railgun Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-527-railgun-listener-to-origin`,description:"Indicates an error connecting between Cloudflare and the origin's Railgun (rwengine) server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; Railgun is largely deprecated in favor of Argo Smart Routing.",commonCauses:["Railgun listener unreachable."],relatedStatuses:[]}},530:{code:530,phrase:"Origin DNS Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:"https://developers.cloudflare.com/support/troubleshooting/cloudflare-errors/troubleshooting-cloudflare-1xxx-errors/",description:"A 530 response is typically returned alongside a Cloudflare 1xxx error displayed in the body, indicating an origin DNS or worker failure.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Inspect the body for the embedded 1xxx code; resolve DNS or Worker error.",commonCauses:["Origin DNS resolution failure","Worker script error"],relatedStatuses:[523]}}};
'use strict';var r={WEB_SERVER_RETURNED_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMED_OUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURRED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,ORIGIN_DNS_ERROR:530},e="https://developers.cloudflare.com/support/troubleshooting/http-status-codes/5xx-errors/",t={520:{code:520,phrase:"Web Server Returned an Unknown Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-520-web-server-returns-an-unknown-error`,description:"The origin server returned an empty, unknown, or unexpected response to Cloudflare.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, the origin is misbehaving and needs operator attention.",commonCauses:["Origin crashed mid-response","Origin returned malformed HTTP"],relatedStatuses:[502]}},521:{code:521,phrase:"Web Server Is Down",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-521-web-server-is-down`,description:"The origin server refused the connection from Cloudflare. Cloudflare could not establish a TCP connection.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; verify origin is running and not blocking Cloudflare IPs.",commonCauses:["Origin down","Cloudflare IPs blocked at firewall"],relatedStatuses:[502,503]}},522:{code:522,phrase:"Connection Timed Out",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-522-connection-timed-out`,description:"Cloudflare could not negotiate a TCP handshake with the origin server before timing out.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; investigate origin network reachability.",commonCauses:["Origin overloaded","Network partition between CF and origin"],relatedStatuses:[504]}},523:{code:523,phrase:"Origin Is Unreachable",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-523-origin-is-unreachable`,description:"Cloudflare could not reach the origin server, commonly due to a routing/BGP issue or invalid DNS record.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, check origin DNS and routing.",commonCauses:["DNS record points to wrong IP","BGP routing problem"],relatedStatuses:[530]}},524:{code:524,phrase:"A Timeout Occurred",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-524-a-timeout-occurred`,description:"Cloudflare successfully connected and sent data to the origin, but the origin took too long to respond with an HTTP response.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; for long-running requests, consider an async pattern (e.g., 202 + polling).",commonCauses:["Long-running origin request exceeded the 100-second CF limit."],relatedStatuses:[504,408]}},525:{code:525,phrase:"SSL Handshake Failed",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-525-ssl-handshake-failed`,description:"Cloudflare could not negotiate an SSL/TLS handshake with the origin server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: align cipher suites and TLS versions between CF and origin.",commonCauses:["No common cipher suite","TLS version mismatch"],relatedStatuses:[526]}},526:{code:526,phrase:"Invalid SSL Certificate",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-526-invalid-ssl-certificate`,description:"Cloudflare could not validate the SSL certificate on the origin web server when SSL Full (strict) mode is active.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: install a valid origin certificate or relax SSL mode.",commonCauses:["Expired or self-signed origin cert","Hostname mismatch"],relatedStatuses:[525]}},527:{code:527,phrase:"Railgun Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-527-railgun-listener-to-origin`,description:"Indicates an error connecting between Cloudflare and the origin's Railgun (rwengine) server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; Railgun is largely deprecated in favor of Argo Smart Routing.",commonCauses:["Railgun listener unreachable."],relatedStatuses:[]}},530:{code:530,phrase:"Origin DNS Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:"https://developers.cloudflare.com/support/troubleshooting/cloudflare-errors/troubleshooting-cloudflare-1xxx-errors/",description:"A 530 response is typically returned alongside a Cloudflare 1xxx error displayed in the body, indicating an origin DNS or worker failure.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Inspect the body for the embedded 1xxx code; resolve DNS or Worker error.",commonCauses:["Origin DNS resolution failure","Worker script error"],relatedStatuses:[523]}}};
exports.CloudflareRegistry=t;exports.CloudflareStatus=r;

@@ -1,2 +0,2 @@

import { c as HttpStatusMetadata } from '../types-D9bAZ7ge.cjs';
import { c as HttpStatusMetadata } from '../types-4vBUR0dr.cjs';

@@ -3,0 +3,0 @@ declare const CloudflareStatus: {

@@ -1,2 +0,2 @@

import { c as HttpStatusMetadata } from '../types-D9bAZ7ge.js';
import { c as HttpStatusMetadata } from '../types-4vBUR0dr.js';

@@ -3,0 +3,0 @@ declare const CloudflareStatus: {

@@ -1,2 +0,2 @@

var r={WEB_SERVER_RETURNED_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMED_OUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURRED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,ORIGIN_DNS_ERROR:530},e="https://developers.cloudflare.com/support/troubleshooting/http-status-codes/5xx-errors/",t={520:{code:520,phrase:"Web Server Returned an Unknown Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-520-web-server-returns-an-unknown-error`,description:"The origin server returned an empty, unknown, or unexpected response to Cloudflare.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, the origin is misbehaving and needs operator attention.",commonCauses:["Origin crashed mid-response","Origin returned malformed HTTP"],relatedStatuses:[502]}},521:{code:521,phrase:"Web Server Is Down",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-521-web-server-is-down`,description:"The origin server refused the connection from Cloudflare. Cloudflare could not establish a TCP connection.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; verify origin is running and not blocking Cloudflare IPs.",commonCauses:["Origin down","Cloudflare IPs blocked at firewall"],relatedStatuses:[502,503]}},522:{code:522,phrase:"Connection Timed Out",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-522-connection-timed-out`,description:"Cloudflare could not negotiate a TCP handshake with the origin server before timing out.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; investigate origin network reachability.",commonCauses:["Origin overloaded","Network partition between CF and origin"],relatedStatuses:[504]}},523:{code:523,phrase:"Origin Is Unreachable",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-523-origin-is-unreachable`,description:"Cloudflare could not reach the origin server, commonly due to a routing/BGP issue or invalid DNS record.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, check origin DNS and routing.",commonCauses:["DNS record points to wrong IP","BGP routing problem"],relatedStatuses:[530]}},524:{code:524,phrase:"A Timeout Occurred",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-524-a-timeout-occurred`,description:"Cloudflare successfully connected and sent data to the origin, but the origin took too long to respond with an HTTP response.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; for long-running requests, consider an async pattern (e.g., 202 + polling).",commonCauses:["Long-running origin request exceeded the 100-second CF limit."],relatedStatuses:[504,408]}},525:{code:525,phrase:"SSL Handshake Failed",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-525-ssl-handshake-failed`,description:"Cloudflare could not negotiate an SSL/TLS handshake with the origin server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: align cipher suites and TLS versions between CF and origin.",commonCauses:["No common cipher suite","TLS version mismatch"],relatedStatuses:[526]}},526:{code:526,phrase:"Invalid SSL Certificate",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-526-invalid-ssl-certificate`,description:"Cloudflare could not validate the SSL certificate on the origin web server when SSL Full (strict) mode is active.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: install a valid origin certificate or relax SSL mode.",commonCauses:["Expired or self-signed origin cert","Hostname mismatch"],relatedStatuses:[525]}},527:{code:527,phrase:"Railgun Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-527-railgun-listener-to-origin`,description:"Indicates an error connecting between Cloudflare and the origin's Railgun (rwengine) server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; Railgun is largely deprecated in favor of Argo Smart Routing.",commonCauses:["Railgun listener unreachable."],relatedStatuses:[]}},530:{code:530,phrase:"Origin DNS Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:"https://developers.cloudflare.com/support/troubleshooting/cloudflare-errors/troubleshooting-cloudflare-1xxx-errors/",description:"A 530 response is typically returned alongside a Cloudflare 1xxx error displayed in the body, indicating an origin DNS or worker failure.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Inspect the body for the embedded 1xxx code; resolve DNS or Worker error.",commonCauses:["Origin DNS resolution failure","Worker script error"],relatedStatuses:[523]}}};
var r={WEB_SERVER_RETURNED_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMED_OUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURRED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,ORIGIN_DNS_ERROR:530},e="https://developers.cloudflare.com/support/troubleshooting/http-status-codes/5xx-errors/",t={520:{code:520,phrase:"Web Server Returned an Unknown Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-520-web-server-returns-an-unknown-error`,description:"The origin server returned an empty, unknown, or unexpected response to Cloudflare.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, the origin is misbehaving and needs operator attention.",commonCauses:["Origin crashed mid-response","Origin returned malformed HTTP"],relatedStatuses:[502]}},521:{code:521,phrase:"Web Server Is Down",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-521-web-server-is-down`,description:"The origin server refused the connection from Cloudflare. Cloudflare could not establish a TCP connection.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; verify origin is running and not blocking Cloudflare IPs.",commonCauses:["Origin down","Cloudflare IPs blocked at firewall"],relatedStatuses:[502,503]}},522:{code:522,phrase:"Connection Timed Out",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-522-connection-timed-out`,description:"Cloudflare could not negotiate a TCP handshake with the origin server before timing out.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; investigate origin network reachability.",commonCauses:["Origin overloaded","Network partition between CF and origin"],relatedStatuses:[504]}},523:{code:523,phrase:"Origin Is Unreachable",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-523-origin-is-unreachable`,description:"Cloudflare could not reach the origin server, commonly due to a routing/BGP issue or invalid DNS record.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, check origin DNS and routing.",commonCauses:["DNS record points to wrong IP","BGP routing problem"],relatedStatuses:[530]}},524:{code:524,phrase:"A Timeout Occurred",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-524-a-timeout-occurred`,description:"Cloudflare successfully connected and sent data to the origin, but the origin took too long to respond with an HTTP response.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; for long-running requests, consider an async pattern (e.g., 202 + polling).",commonCauses:["Long-running origin request exceeded the 100-second CF limit."],relatedStatuses:[504,408]}},525:{code:525,phrase:"SSL Handshake Failed",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-525-ssl-handshake-failed`,description:"Cloudflare could not negotiate an SSL/TLS handshake with the origin server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: align cipher suites and TLS versions between CF and origin.",commonCauses:["No common cipher suite","TLS version mismatch"],relatedStatuses:[526]}},526:{code:526,phrase:"Invalid SSL Certificate",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-526-invalid-ssl-certificate`,description:"Cloudflare could not validate the SSL certificate on the origin web server when SSL Full (strict) mode is active.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: install a valid origin certificate or relax SSL mode.",commonCauses:["Expired or self-signed origin cert","Hostname mismatch"],relatedStatuses:[525]}},527:{code:527,phrase:"Railgun Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${e}#error-527-railgun-listener-to-origin`,description:"Indicates an error connecting between Cloudflare and the origin's Railgun (rwengine) server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; Railgun is largely deprecated in favor of Argo Smart Routing.",commonCauses:["Railgun listener unreachable."],relatedStatuses:[]}},530:{code:530,phrase:"Origin DNS Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:"https://developers.cloudflare.com/support/troubleshooting/cloudflare-errors/troubleshooting-cloudflare-1xxx-errors/",description:"A 530 response is typically returned alongside a Cloudflare 1xxx error displayed in the body, indicating an origin DNS or worker failure.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Inspect the body for the embedded 1xxx code; resolve DNS or Worker error.",commonCauses:["Origin DNS resolution failure","Worker script error"],relatedStatuses:[523]}}};
export{t as CloudflareRegistry,r as CloudflareStatus};

@@ -1,2 +0,2 @@

'use strict';var r={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,IM_USED:226,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,CONTENT_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_CONTENT:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511},e=t=>`https://datatracker.ietf.org/doc/html/rfc9110#section-${t}`,a={100:{code:100,phrase:"Continue",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.1"),description:"The initial part of a request has been received and the client should continue to send the remainder of the request, or ignore the response if the request is already complete.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Expect",required:false,purpose:"Originating request header that triggers a 100 response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Continue sending the request body; treat as a successful handshake.",commonCauses:["Client sent Expect: 100-continue before a large body."],relatedStatuses:[417]}},101:{code:101,phrase:"Switching Protocols",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.2"),description:"The server understands and is willing to comply with the client request, via the Upgrade header field, for a change in the application protocol being used on this connection.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Lists the protocol(s) being switched to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Switch to the protocol named in the Upgrade header (e.g., WebSocket).",commonCauses:["Client requested protocol upgrade (WebSocket, HTTP/2 cleartext)."],relatedStatuses:[426]}},102:{code:102,phrase:"Processing",category:"Informational",source:"IANA",rfc:"RFC2518",specUrl:"https://datatracker.ietf.org/doc/html/rfc2518#section-10.1",description:"WebDAV interim response indicating that the server has accepted the complete request but has not yet completed it. Deprecated by some clients.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Keep the connection open and wait for the final response.",commonCauses:["Long-running WebDAV operation."],relatedStatuses:[]}},103:{code:103,phrase:"Early Hints",category:"Informational",source:"IANA",rfc:"RFC8297",specUrl:"https://datatracker.ietf.org/doc/html/rfc8297#section-2",description:"Used to return some response headers before the final HTTP message, typically to allow the client to preload resources via Link headers.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Link",required:false,purpose:"Preload/preconnect hints sent before the final response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Begin preloading hinted resources while awaiting the final response.",commonCauses:["Server-driven preload hints to reduce page load time."],relatedStatuses:[]}},200:{code:200,phrase:"OK",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.1"),description:"The request has succeeded. The payload sent depends on the request method.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse and use the response body.",commonCauses:["Standard successful request."],relatedStatuses:[201,204,206]}},201:{code:201,phrase:"Created",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.2"),description:"The request has been fulfilled and has resulted in one or more new resources being created. The primary resource URI is given by Location.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"URI of the newly created resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Read the Location header for the new resource URI.",commonCauses:["Successful POST or PUT that created a resource."],relatedStatuses:[200,202]}},202:{code:202,phrase:"Accepted",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.3"),description:"The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Poll the indicated status endpoint or wait for an async callback.",commonCauses:["Async job submission, batch processing."],relatedStatuses:[201,303]}},203:{code:203,phrase:"Non-Authoritative Information",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.4"),description:"The request was successful but the enclosed payload has been modified by a transforming proxy from that of the origin server.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as 200 OK but be aware the body may have been transformed by an intermediary.",commonCauses:["Transforming proxy modified the response."],relatedStatuses:[200]}},204:{code:204,phrase:"No Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.5"),description:"The server has successfully fulfilled the request and there is no additional content to send in the response payload body.",expectsEmptyBody:true,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not attempt to parse a body; treat as success.",commonCauses:["Successful DELETE or PUT/PATCH that returns no body."],relatedStatuses:[200,205]}},205:{code:205,phrase:"Reset Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.6"),description:"The server has fulfilled the request and desires that the user agent reset the document view which caused the request to be sent.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Clear the originating form or input view.",commonCauses:["Form submission that should reset on success."],relatedStatuses:[204]}},206:{code:206,phrase:"Partial Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.7"),description:"The server is successfully fulfilling a range request for the target resource by transferring one or more parts of the selected representation.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:true,purpose:"Indicates which byte range is in the body."},{name:"Accept-Ranges",required:false,purpose:"Indicates supported range units."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Assemble the byte range with previously fetched parts; resume support.",commonCauses:["Range request for video, large file, or resumable download."],relatedStatuses:[200,416]}},207:{code:207,phrase:"Multi-Status",category:"Success",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.1",description:"WebDAV: provides status for multiple independent operations in a single response (multistatus XML).",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse the multistatus XML body for per-resource status codes.",commonCauses:["WebDAV PROPFIND, PROPPATCH, COPY, MOVE, DELETE on collections."],relatedStatuses:[208]}},208:{code:208,phrase:"Already Reported",category:"Success",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.1",description:"WebDAV: used inside a 207 Multi-Status response to avoid repeatedly enumerating internal members of multiple bindings to the same collection.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as already-enumerated; do not re-fetch.",commonCauses:["WebDAV bindings already reported in the same multistatus."],relatedStatuses:[207]}},226:{code:226,phrase:"IM Used",category:"Success",source:"IANA",rfc:"RFC3229",specUrl:"https://datatracker.ietf.org/doc/html/rfc3229#section-10.4.1",description:"The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:["GET"],relatedHeaders:[{name:"IM",required:false,purpose:"Instance manipulation applied."},{name:"Delta-Base",required:false,purpose:"Base entity tag for delta encoding."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Apply the delta to the cached representation.",commonCauses:["Delta-encoded HTTP response."],relatedStatuses:[200]}},300:{code:300,phrase:"Multiple Choices",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.1"),description:"The target resource has more than one representation, each with its own more specific identifier, and information about the alternatives is provided.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"Server-preferred alternative URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Pick a representation from the listed alternatives or follow Location if provided.",commonCauses:["Content negotiation with multiple acceptable variants."],relatedStatuses:[301,302,303]}},301:{code:301,phrase:"Moved Permanently",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.2"),description:"The target resource has been assigned a new permanent URI and any future references to this resource ought to use the enclosed URI.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location; update bookmarks/links to the new URI.",commonCauses:["Permanent URL change, domain migration, HTTPS upgrade."],relatedStatuses:[308,302]}},302:{code:302,phrase:"Found",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.3"),description:"The target resource resides temporarily under a different URI. The client should continue to use the original request URI for future requests.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:["Moved Temporarily"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location for this request only; do not cache the redirect.",commonCauses:["Temporary redirect, post-login redirect."],relatedStatuses:[303,307]}},303:{code:303,phrase:"See Other",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.4"),description:"The server is redirecting the user agent to a different resource, as indicated by Location, that is intended to provide an indirect response to the original request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Target URI to GET."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Issue a GET to Location regardless of the original method.",commonCauses:["Post/Redirect/Get pattern after form submission."],relatedStatuses:[302,307]}},304:{code:304,phrase:"Not Modified",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.5"),description:"Indicates that the conditional request would have resulted in a 200 OK response if it were not for the fact that the condition evaluated to false.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"ETag",required:false,purpose:"Validator matching the cached representation."},{name:"Cache-Control",required:false,purpose:"Freshness directives."},{name:"Vary",required:false,purpose:"Headers that affected selection."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Serve from the local cache; the cached representation is still fresh.",commonCauses:["Conditional GET with If-None-Match or If-Modified-Since matched."],relatedStatuses:[200,412]}},305:{code:305,phrase:"Use Proxy",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.6"),description:"Deprecated. The requested resource must be accessed through a specified proxy.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Ignore; modern clients must not honor 305 for security reasons.",commonCauses:["Legacy proxy configuration."],relatedStatuses:[]}},307:{code:307,phrase:"Temporary Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.8"),description:"The target resource resides temporarily under a different URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method and body.",commonCauses:["Temporary redirect where method preservation matters (e.g., POST)."],relatedStatuses:[302,308]}},308:{code:308,phrase:"Permanent Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.9"),description:"The target resource has been assigned a new permanent URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method; update stored references.",commonCauses:["Permanent move where method preservation matters."],relatedStatuses:[301,307]}},400:{code:400,phrase:"Bad Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.1"),description:"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed syntax, invalid framing).",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Fix the request payload or syntax; do not retry as-is.",commonCauses:["Malformed JSON","Missing required field","Invalid header syntax"],relatedStatuses:[422,415]}},401:{code:401,phrase:"Unauthorized",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.2"),description:"The request has not been applied because it lacks valid authentication credentials for the target resource.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"WWW-Authenticate",required:true,purpose:"Challenge describing the auth scheme."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Acquire valid credentials and retry with an Authorization header.",commonCauses:["Missing or expired token","Wrong credentials","Token revoked"],relatedStatuses:[403,407]}},402:{code:402,phrase:"Payment Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.3"),description:"Reserved for future use. Originally intended for digital payment systems.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface payment/billing requirement to the user; do not auto-retry.",commonCauses:["API quota exhausted on paid tier","Subscription expired"],relatedStatuses:[403,429]}},403:{code:403,phrase:"Forbidden",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.4"),description:"The server understood the request but refuses to authorize it. Re-authenticating will not help.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not retry; the principal lacks permission for this resource.",commonCauses:["Insufficient role/scope","IP blocked","CSRF check failed"],relatedStatuses:[401,451]}},404:{code:404,phrase:"Not Found",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.5"),description:"The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Verify the URL; do not retry unless the resource is expected to appear later.",commonCauses:["Typo in URL","Resource deleted","Privacy-preserving hide of 403"],relatedStatuses:[410,403]}},405:{code:405,phrase:"Method Not Allowed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.6"),description:"The method received in the request-line is known by the origin server but not supported by the target resource.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Allow",required:true,purpose:"Lists the methods supported by the target resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Inspect Allow header and reissue with a permitted method.",commonCauses:["Wrong HTTP verb for the endpoint."],relatedStatuses:[501]}},406:{code:406,phrase:"Not Acceptable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.7"),description:"The target resource does not have a current representation that would be acceptable to the user agent according to the proactive negotiation header fields.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Accept",required:false,purpose:"Originating preference header."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Relax Accept/Accept-Language constraints and retry.",commonCauses:["No representation matches the client's Accept headers."],relatedStatuses:[415]}},407:{code:407,phrase:"Proxy Authentication Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.8"),description:"Similar to 401 but indicates that the client needs to authenticate itself in order to use a proxy.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"Proxy-Authenticate",required:true,purpose:"Proxy auth challenge."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Supply Proxy-Authorization and retry.",commonCauses:["Corporate proxy requiring authentication."],relatedStatuses:[401]}},408:{code:408,phrase:"Request Timeout",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.9"),description:"The server did not receive a complete request message within the time that it was prepared to wait.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry the request with backoff; consider increasing client timeout.",commonCauses:["Slow client","Network congestion","Idle keep-alive connection closed"],relatedStatuses:[504]}},409:{code:409,phrase:"Conflict",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.10"),description:"The request could not be completed due to a conflict with the current state of the target resource.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-read the current resource state and resolve the conflict before resubmitting.",commonCauses:["Concurrent edit collision","Duplicate resource creation","Version mismatch"],relatedStatuses:[412,428]}},410:{code:410,phrase:"Gone",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.11"),description:"Access to the target resource is no longer available at the origin server and this condition is likely to be permanent.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove any cached references; do not retry.",commonCauses:["Permanently deleted resource."],relatedStatuses:[404]}},411:{code:411,phrase:"Length Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.12"),description:"The server refuses to accept the request without a defined Content-Length.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Content-Length",required:true,purpose:"Length of the request body in octets."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add Content-Length and retry.",commonCauses:["Chunked transfer rejected by server."],relatedStatuses:[]}},412:{code:412,phrase:"Precondition Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.13"),description:"One or more conditions given in the request header fields evaluated to false when tested on the server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"If-Match",required:false,purpose:"Originating precondition."},{name:"If-Unmodified-Since",required:false,purpose:"Originating precondition."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-fetch current ETag/Last-Modified and retry with the new validator.",commonCauses:["Stale If-Match","Optimistic concurrency control mismatch"],relatedStatuses:[409,428]}},413:{code:413,phrase:"Content Too Large",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.14"),description:"The server is refusing to process a request because the request content is larger than the server is willing or able to process.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates when the condition may be temporary."}],aliases:["Payload Too Large","Request Entity Too Large"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Reduce body size, chunk the upload, or use a different endpoint.",commonCauses:["Upload exceeds server limit."],relatedStatuses:[]}},414:{code:414,phrase:"URI Too Long",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.15"),description:"The server is refusing to service the request because the request-target is longer than the server is willing to interpret.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Request-URI Too Long"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Shorten the URL; move parameters into a POST body.",commonCauses:["Excessive query string","Loop generating long redirect URI"],relatedStatuses:[]}},415:{code:415,phrase:"Unsupported Media Type",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.16"),description:"The server is refusing to service the request because the content is in a format not supported by this method on the target resource.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Accept",required:false,purpose:"Indicates supported response types."},{name:"Accept-Encoding",required:false,purpose:"Indicates supported encodings."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Set Content-Type to a supported value and retry.",commonCauses:["Wrong Content-Type","Unsupported encoding"],relatedStatuses:[406]}},416:{code:416,phrase:"Range Not Satisfiable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.17"),description:"None of the ranges in the request's Range header field overlap the current extent of the selected resource, or the set of ranges requested has been rejected.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:false,purpose:"Total size of the representation."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-check the resource length and request a valid range.",commonCauses:["Range beyond resource length."],relatedStatuses:[206]}},417:{code:417,phrase:"Expectation Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.18"),description:"The expectation given in the request's Expect header field could not be met by at least one of the inbound servers.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove the Expect header and retry.",commonCauses:["Server does not support Expect: 100-continue."],relatedStatuses:[100]}},418:{code:418,phrase:"I'm a teapot",category:"Client Error",source:"IANA",rfc:"RFC2324",specUrl:"https://datatracker.ietf.org/doc/html/rfc2324#section-2.3.2",description:"Any attempt to brew coffee with a teapot should result in the error code 418 I'm a teapot. A joke status from the Hyper Text Coffee Pot Control Protocol.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a humorous easter egg or anti-bot signal; do not retry.",commonCauses:["Server is signaling a refusal humorously."],relatedStatuses:[]}},421:{code:421,phrase:"Misdirected Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.20"),description:"The request was directed at a server that is not able to produce a response. This can be sent by a server that is not configured to produce responses for the combination of scheme and authority included in the request URI.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Re-resolve the host and open a new connection before retrying.",commonCauses:["HTTP/2 connection coalescing to wrong origin."],relatedStatuses:[]}},422:{code:422,phrase:"Unprocessable Content",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.21"),description:"The server understands the content type of the request content and the syntax of the request content is correct, but it was unable to process the contained instructions.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Unprocessable Entity"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Validate semantic constraints (e.g., schema validation errors) and resubmit.",commonCauses:["Schema validation failure","Business rule violation"],relatedStatuses:[400]}},423:{code:423,phrase:"Locked",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.3",description:"WebDAV: the source or destination resource is locked.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Acquire the lock or wait for it to release, then retry.",commonCauses:["WebDAV resource locked by another client."],relatedStatuses:[424]}},424:{code:424,phrase:"Failed Dependency",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.4",description:"WebDAV: the method could not be performed on the resource because the requested action depended on another action which failed.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Resolve the failing prerequisite action first.",commonCauses:["Prior WebDAV operation in the same request failed."],relatedStatuses:[423]}},425:{code:425,phrase:"Too Early",category:"Client Error",source:"IANA",rfc:"RFC8470",specUrl:"https://datatracker.ietf.org/doc/html/rfc8470#section-5.2",description:"Indicates that the server is unwilling to risk processing a request that might be replayed (e.g., TLS 1.3 early data).",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Early-Data",required:false,purpose:"Indicates the request was sent in TLS early data."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Retry the request after the TLS handshake completes.",commonCauses:["Request sent in TLS 1.3 0-RTT early data."],relatedStatuses:[]}},426:{code:426,phrase:"Upgrade Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.22"),description:"The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Protocols the server is willing to switch to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Upgrade to the protocol indicated in Upgrade and retry.",commonCauses:["Server requires HTTPS or HTTP/2."],relatedStatuses:[101]}},428:{code:428,phrase:"Precondition Required",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-3",description:"The origin server requires the request to be conditional. Intended to prevent the lost update problem.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add If-Match or If-Unmodified-Since and retry.",commonCauses:["Server enforces optimistic concurrency control."],relatedStatuses:[412]}},429:{code:429,phrase:"Too Many Requests",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-4",description:'The user has sent too many requests in a given amount of time ("rate limiting").',expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long to wait before retrying."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Wait the duration in Retry-After (or back off exponentially) and retry.",commonCauses:["Rate limit exceeded."],relatedStatuses:[503,509]}},431:{code:431,phrase:"Request Header Fields Too Large",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-5",description:"The server is unwilling to process the request because its header fields are too large.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim cookies/headers and retry.",commonCauses:["Oversized cookie jar","Long Authorization token"],relatedStatuses:[]}},451:{code:451,phrase:"Unavailable For Legal Reasons",category:"Client Error",source:"IANA",rfc:"RFC7725",specUrl:"https://datatracker.ietf.org/doc/html/rfc7725#section-3",description:"The server is denying access to the resource as a consequence of a legal demand.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface the legal blockage to the user; do not retry.",commonCauses:["Court order","Government censorship","DMCA takedown"],relatedStatuses:[403]}},500:{code:500,phrase:"Internal Server Error",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.1"),description:"The server encountered an unexpected condition that prevented it from fulfilling the request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry idempotent requests with backoff; report to the operator if persistent.",commonCauses:["Unhandled exception","Database failure","Misconfiguration"],relatedStatuses:[502,503]}},501:{code:501,phrase:"Not Implemented",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.2"),description:"The server does not support the functionality required to fulfill the request.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Use a different method or endpoint; this feature is not supported.",commonCauses:["Server lacks support for the requested method."],relatedStatuses:[405]}},502:{code:502,phrase:"Bad Gateway",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.3"),description:"The server, while acting as a gateway or proxy, received an invalid response from an inbound server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; the upstream is likely transiently unhealthy.",commonCauses:["Upstream returned malformed response","Origin briefly down"],relatedStatuses:[503,504]}},503:{code:503,phrase:"Service Unavailable",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.4"),description:"The server is currently unable to handle the request due to a temporary overload or scheduled maintenance.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long the service is expected to be unavailable."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Respect Retry-After if present; otherwise back off exponentially.",commonCauses:["Overload","Scheduled maintenance","Circuit breaker open"],relatedStatuses:[429,502,504]}},504:{code:504,phrase:"Gateway Timeout",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.5"),description:"The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; consider increasing the upstream timeout.",commonCauses:["Slow upstream","Network partition"],relatedStatuses:[408,502]}},505:{code:505,phrase:"HTTP Version Not Supported",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.6"),description:"The server does not support, or refuses to support, the major version of HTTP that was used in the request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Downgrade or upgrade to a supported HTTP version and retry.",commonCauses:["Client speaks HTTP version the server has disabled."],relatedStatuses:[426]}},506:{code:506,phrase:"Variant Also Negotiates",category:"Server Error",source:"IANA",rfc:"RFC2295",specUrl:"https://datatracker.ietf.org/doc/html/rfc2295#section-8.1",description:"Transparent content negotiation for the request results in a circular reference.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Server-side configuration bug; report to the operator.",commonCauses:["Misconfigured content negotiation chain."],relatedStatuses:[]}},507:{code:507,phrase:"Insufficient Storage",category:"Server Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.5",description:"WebDAV: the method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry later or reduce payload size; storage is full upstream.",commonCauses:["Disk full on server."],relatedStatuses:[413]}},508:{code:508,phrase:"Loop Detected",category:"Server Error",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.2",description:"WebDAV: the server terminated an operation because it encountered an infinite loop while processing a request with Depth: infinity.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Restructure the request to avoid the cycle.",commonCauses:["Cyclic WebDAV bindings."],relatedStatuses:[]}},510:{code:510,phrase:"Not Extended",category:"Server Error",source:"IANA",rfc:"RFC2774",specUrl:"https://datatracker.ietf.org/doc/html/rfc2774#section-7",description:"Further extensions to the request are required for the server to fulfill it.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add the required HTTP extension declarations and retry.",commonCauses:["Server requires HTTP extension framework."],relatedStatuses:[]}},511:{code:511,phrase:"Network Authentication Required",category:"Server Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-6",description:"The client needs to authenticate to gain network access. Intended for captive portals.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Complete the captive portal flow, then retry.",commonCauses:["Public Wi-Fi captive portal."],relatedStatuses:[401]}}};
'use strict';var r={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,IM_USED:226,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,CONTENT_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_CONTENT:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511},e=t=>`https://datatracker.ietf.org/doc/html/rfc9110#section-${t}`,a={100:{code:100,phrase:"Continue",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.1"),description:"The initial part of a request has been received and the client should continue to send the remainder of the request, or ignore the response if the request is already complete.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Expect",required:false,purpose:"Originating request header that triggers a 100 response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Continue sending the request body; treat as a successful handshake.",commonCauses:["Client sent Expect: 100-continue before a large body."],relatedStatuses:[417]}},101:{code:101,phrase:"Switching Protocols",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.2"),description:"The server understands and is willing to comply with the client request, via the Upgrade header field, for a change in the application protocol being used on this connection.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Lists the protocol(s) being switched to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Switch to the protocol named in the Upgrade header (e.g., WebSocket).",commonCauses:["Client requested protocol upgrade (WebSocket, HTTP/2 cleartext)."],relatedStatuses:[426]}},102:{code:102,phrase:"Processing",category:"Informational",source:"IANA",rfc:"RFC2518",specUrl:"https://datatracker.ietf.org/doc/html/rfc2518#section-10.1",description:"WebDAV interim response indicating that the server has accepted the complete request but has not yet completed it. Deprecated by some clients.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Keep the connection open and wait for the final response.",commonCauses:["Long-running WebDAV operation."],relatedStatuses:[]}},103:{code:103,phrase:"Early Hints",category:"Informational",source:"IANA",rfc:"RFC8297",specUrl:"https://datatracker.ietf.org/doc/html/rfc8297#section-2",description:"Used to return some response headers before the final HTTP message, typically to allow the client to preload resources via Link headers.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Link",required:false,purpose:"Preload/preconnect hints sent before the final response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Begin preloading hinted resources while awaiting the final response.",commonCauses:["Server-driven preload hints to reduce page load time."],relatedStatuses:[]}},200:{code:200,phrase:"OK",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.1"),description:"The request has succeeded. The payload sent depends on the request method.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse and use the response body.",commonCauses:["Standard successful request."],relatedStatuses:[201,204,206]}},201:{code:201,phrase:"Created",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.2"),description:"The request has been fulfilled and has resulted in one or more new resources being created. The primary resource URI is given by Location.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"URI of the newly created resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Read the Location header for the new resource URI.",commonCauses:["Successful POST or PUT that created a resource."],relatedStatuses:[200,202]}},202:{code:202,phrase:"Accepted",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.3"),description:"The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Poll the indicated status endpoint or wait for an async callback.",commonCauses:["Async job submission, batch processing."],relatedStatuses:[201,303]}},203:{code:203,phrase:"Non-Authoritative Information",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.4"),description:"The request was successful but the enclosed payload has been modified by a transforming proxy from that of the origin server.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as 200 OK but be aware the body may have been transformed by an intermediary.",commonCauses:["Transforming proxy modified the response."],relatedStatuses:[200]}},204:{code:204,phrase:"No Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.5"),description:"The server has successfully fulfilled the request and there is no additional content to send in the response payload body.",expectsEmptyBody:true,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not attempt to parse a body; treat as success.",commonCauses:["Successful DELETE or PUT/PATCH that returns no body."],relatedStatuses:[200,205]}},205:{code:205,phrase:"Reset Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.6"),description:"The server has fulfilled the request and desires that the user agent reset the document view which caused the request to be sent.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Clear the originating form or input view.",commonCauses:["Form submission that should reset on success."],relatedStatuses:[204]}},206:{code:206,phrase:"Partial Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.7"),description:"The server is successfully fulfilling a range request for the target resource by transferring one or more parts of the selected representation.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:true,purpose:"Indicates which byte range is in the body."},{name:"Accept-Ranges",required:false,purpose:"Indicates supported range units."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Assemble the byte range with previously fetched parts; resume support.",commonCauses:["Range request for video, large file, or resumable download."],relatedStatuses:[200,416]}},207:{code:207,phrase:"Multi-Status",category:"Success",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.1",description:"WebDAV: provides status for multiple independent operations in a single response (multistatus XML).",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse the multistatus XML body for per-resource status codes.",commonCauses:["WebDAV PROPFIND, PROPPATCH, COPY, MOVE, DELETE on collections."],relatedStatuses:[208]}},208:{code:208,phrase:"Already Reported",category:"Success",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.1",description:"WebDAV: used inside a 207 Multi-Status response to avoid repeatedly enumerating internal members of multiple bindings to the same collection.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as already-enumerated; do not re-fetch.",commonCauses:["WebDAV bindings already reported in the same multistatus."],relatedStatuses:[207]}},226:{code:226,phrase:"IM Used",category:"Success",source:"IANA",rfc:"RFC3229",specUrl:"https://datatracker.ietf.org/doc/html/rfc3229#section-10.4.1",description:"The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:["GET"],relatedHeaders:[{name:"IM",required:false,purpose:"Instance manipulation applied."},{name:"Delta-Base",required:false,purpose:"Base entity tag for delta encoding."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Apply the delta to the cached representation.",commonCauses:["Delta-encoded HTTP response."],relatedStatuses:[200]}},300:{code:300,phrase:"Multiple Choices",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.1"),description:"The target resource has more than one representation, each with its own more specific identifier, and information about the alternatives is provided.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"Server-preferred alternative URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Pick a representation from the listed alternatives or follow Location if provided.",commonCauses:["Content negotiation with multiple acceptable variants."],relatedStatuses:[301,302,303]}},301:{code:301,phrase:"Moved Permanently",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.2"),description:"The target resource has been assigned a new permanent URI and any future references to this resource ought to use the enclosed URI.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location; update bookmarks/links to the new URI.",commonCauses:["Permanent URL change, domain migration, HTTPS upgrade."],relatedStatuses:[308,302]}},302:{code:302,phrase:"Found",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.3"),description:"The target resource resides temporarily under a different URI. The client should continue to use the original request URI for future requests.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:["Moved Temporarily"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location for this request only; do not cache the redirect.",commonCauses:["Temporary redirect, post-login redirect."],relatedStatuses:[303,307]}},303:{code:303,phrase:"See Other",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.4"),description:"The server is redirecting the user agent to a different resource, as indicated by Location, that is intended to provide an indirect response to the original request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Target URI to GET."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Issue a GET to Location regardless of the original method.",commonCauses:["Post/Redirect/Get pattern after form submission."],relatedStatuses:[302,307]}},304:{code:304,phrase:"Not Modified",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.5"),description:"Indicates that the conditional request would have resulted in a 200 OK response if it were not for the fact that the condition evaluated to false.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"ETag",required:false,purpose:"Validator matching the cached representation."},{name:"Cache-Control",required:false,purpose:"Freshness directives."},{name:"Vary",required:false,purpose:"Headers that affected selection."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Serve from the local cache; the cached representation is still fresh.",commonCauses:["Conditional GET with If-None-Match or If-Modified-Since matched."],relatedStatuses:[200,412]}},305:{code:305,phrase:"Use Proxy",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.6"),description:"Deprecated. The requested resource must be accessed through a specified proxy.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Ignore; modern clients must not honor 305 for security reasons.",commonCauses:["Legacy proxy configuration."],relatedStatuses:[]}},307:{code:307,phrase:"Temporary Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.8"),description:"The target resource resides temporarily under a different URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method and body.",commonCauses:["Temporary redirect where method preservation matters (e.g., POST)."],relatedStatuses:[302,308]}},308:{code:308,phrase:"Permanent Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.9"),description:"The target resource has been assigned a new permanent URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method; update stored references.",commonCauses:["Permanent move where method preservation matters."],relatedStatuses:[301,307]}},400:{code:400,phrase:"Bad Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.1"),description:"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed syntax, invalid framing).",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Fix the request payload or syntax; do not retry as-is.",commonCauses:["Malformed JSON","Missing required field","Invalid header syntax"],relatedStatuses:[422,415]}},401:{code:401,phrase:"Unauthorized",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.2"),description:"The request has not been applied because it lacks valid authentication credentials for the target resource.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"WWW-Authenticate",required:true,purpose:"Challenge describing the auth scheme."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Acquire valid credentials and retry with an Authorization header.",commonCauses:["Missing or expired token","Wrong credentials","Token revoked"],relatedStatuses:[403,407]}},402:{code:402,phrase:"Payment Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.3"),description:"Reserved for future use. Originally intended for digital payment systems.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface payment/billing requirement to the user; do not auto-retry.",commonCauses:["API quota exhausted on paid tier","Subscription expired"],relatedStatuses:[403,429]}},403:{code:403,phrase:"Forbidden",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.4"),description:"The server understood the request but refuses to authorize it. Re-authenticating will not help.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not retry; the principal lacks permission for this resource.",commonCauses:["Insufficient role/scope","IP blocked","CSRF check failed"],relatedStatuses:[401,451]}},404:{code:404,phrase:"Not Found",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.5"),description:"The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Verify the URL; do not retry unless the resource is expected to appear later.",commonCauses:["Typo in URL","Resource deleted","Privacy-preserving hide of 403"],relatedStatuses:[410,403]}},405:{code:405,phrase:"Method Not Allowed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.6"),description:"The method received in the request-line is known by the origin server but not supported by the target resource.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Allow",required:true,purpose:"Lists the methods supported by the target resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Inspect Allow header and reissue with a permitted method.",commonCauses:["Wrong HTTP verb for the endpoint."],relatedStatuses:[501]}},406:{code:406,phrase:"Not Acceptable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.7"),description:"The target resource does not have a current representation that would be acceptable to the user agent according to the proactive negotiation header fields.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Accept",required:false,purpose:"Originating preference header."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Relax Accept/Accept-Language constraints and retry.",commonCauses:["No representation matches the client's Accept headers."],relatedStatuses:[415]}},407:{code:407,phrase:"Proxy Authentication Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.8"),description:"Similar to 401 but indicates that the client needs to authenticate itself in order to use a proxy.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"Proxy-Authenticate",required:true,purpose:"Proxy auth challenge."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Supply Proxy-Authorization and retry.",commonCauses:["Corporate proxy requiring authentication."],relatedStatuses:[401]}},408:{code:408,phrase:"Request Timeout",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.9"),description:"The server did not receive a complete request message within the time that it was prepared to wait.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry the request with backoff; consider increasing client timeout.",commonCauses:["Slow client","Network congestion","Idle keep-alive connection closed"],relatedStatuses:[504]}},409:{code:409,phrase:"Conflict",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.10"),description:"The request could not be completed due to a conflict with the current state of the target resource.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-read the current resource state and resolve the conflict before resubmitting.",commonCauses:["Concurrent edit collision","Duplicate resource creation","Version mismatch"],relatedStatuses:[412,428]}},410:{code:410,phrase:"Gone",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.11"),description:"Access to the target resource is no longer available at the origin server and this condition is likely to be permanent.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove any cached references; do not retry.",commonCauses:["Permanently deleted resource."],relatedStatuses:[404]}},411:{code:411,phrase:"Length Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.12"),description:"The server refuses to accept the request without a defined Content-Length.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Content-Length",required:true,purpose:"Length of the request body in octets."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add Content-Length and retry.",commonCauses:["Chunked transfer rejected by server."],relatedStatuses:[]}},412:{code:412,phrase:"Precondition Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.13"),description:"One or more conditions given in the request header fields evaluated to false when tested on the server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"If-Match",required:false,purpose:"Originating precondition."},{name:"If-Unmodified-Since",required:false,purpose:"Originating precondition."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-fetch current ETag/Last-Modified and retry with the new validator.",commonCauses:["Stale If-Match","Optimistic concurrency control mismatch"],relatedStatuses:[409,428]}},413:{code:413,phrase:"Content Too Large",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.14"),description:"The server is refusing to process a request because the request content is larger than the server is willing or able to process.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates when the condition may be temporary."}],aliases:["Payload Too Large","Request Entity Too Large"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Reduce body size, chunk the upload, or use a different endpoint.",commonCauses:["Upload exceeds server limit."],relatedStatuses:[]}},414:{code:414,phrase:"URI Too Long",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.15"),description:"The server is refusing to service the request because the request-target is longer than the server is willing to interpret.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Request-URI Too Long"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Shorten the URL; move parameters into a POST body.",commonCauses:["Excessive query string","Loop generating long redirect URI"],relatedStatuses:[]}},415:{code:415,phrase:"Unsupported Media Type",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.16"),description:"The server is refusing to service the request because the content is in a format not supported by this method on the target resource.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Accept",required:false,purpose:"Indicates supported response types."},{name:"Accept-Encoding",required:false,purpose:"Indicates supported encodings."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Set Content-Type to a supported value and retry.",commonCauses:["Wrong Content-Type","Unsupported encoding"],relatedStatuses:[406]}},416:{code:416,phrase:"Range Not Satisfiable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.17"),description:"None of the ranges in the request's Range header field overlap the current extent of the selected resource, or the set of ranges requested has been rejected.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:false,purpose:"Total size of the representation."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-check the resource length and request a valid range.",commonCauses:["Range beyond resource length."],relatedStatuses:[206]}},417:{code:417,phrase:"Expectation Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.18"),description:"The expectation given in the request's Expect header field could not be met by at least one of the inbound servers.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove the Expect header and retry.",commonCauses:["Server does not support Expect: 100-continue."],relatedStatuses:[100]}},418:{code:418,phrase:"I'm a teapot",category:"Client Error",source:"IANA",rfc:"RFC2324",specUrl:"https://datatracker.ietf.org/doc/html/rfc2324#section-2.3.2",description:"Any attempt to brew coffee with a teapot should result in the error code 418 I'm a teapot. A joke status from the Hyper Text Coffee Pot Control Protocol.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a humorous easter egg or anti-bot signal; do not retry.",commonCauses:["Server is signaling a refusal humorously."],relatedStatuses:[]}},421:{code:421,phrase:"Misdirected Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.20"),description:"The request was directed at a server that is not able to produce a response. This can be sent by a server that is not configured to produce responses for the combination of scheme and authority included in the request URI.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Re-resolve the host and open a new connection before retrying.",commonCauses:["HTTP/2 connection coalescing to wrong origin."],relatedStatuses:[]}},422:{code:422,phrase:"Unprocessable Content",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.21"),description:"The server understands the content type of the request content and the syntax of the request content is correct, but it was unable to process the contained instructions.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Unprocessable Entity"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Validate semantic constraints (e.g., schema validation errors) and resubmit.",commonCauses:["Schema validation failure","Business rule violation"],relatedStatuses:[400]}},423:{code:423,phrase:"Locked",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.3",description:"WebDAV: the source or destination resource is locked.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Acquire the lock or wait for it to release, then retry.",commonCauses:["WebDAV resource locked by another client."],relatedStatuses:[424]}},424:{code:424,phrase:"Failed Dependency",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.4",description:"WebDAV: the method could not be performed on the resource because the requested action depended on another action which failed.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Resolve the failing prerequisite action first.",commonCauses:["Prior WebDAV operation in the same request failed."],relatedStatuses:[423]}},425:{code:425,phrase:"Too Early",category:"Client Error",source:"IANA",rfc:"RFC8470",specUrl:"https://datatracker.ietf.org/doc/html/rfc8470#section-5.2",description:"Indicates that the server is unwilling to risk processing a request that might be replayed (e.g., TLS 1.3 early data).",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Early-Data",required:false,purpose:"Indicates the request was sent in TLS early data."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Retry the request after the TLS handshake completes.",commonCauses:["Request sent in TLS 1.3 0-RTT early data."],relatedStatuses:[]}},426:{code:426,phrase:"Upgrade Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.22"),description:"The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Protocols the server is willing to switch to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Upgrade to the protocol indicated in Upgrade and retry.",commonCauses:["Server requires HTTPS or HTTP/2."],relatedStatuses:[101]}},428:{code:428,phrase:"Precondition Required",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-3",description:"The origin server requires the request to be conditional. Intended to prevent the lost update problem.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add If-Match or If-Unmodified-Since and retry.",commonCauses:["Server enforces optimistic concurrency control."],relatedStatuses:[412]}},429:{code:429,phrase:"Too Many Requests",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-4",description:'The user has sent too many requests in a given amount of time ("rate limiting").',expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long to wait before retrying."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Wait the duration in Retry-After (or back off exponentially) and retry.",commonCauses:["Rate limit exceeded."],relatedStatuses:[503,509]}},431:{code:431,phrase:"Request Header Fields Too Large",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-5",description:"The server is unwilling to process the request because its header fields are too large.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim cookies/headers and retry.",commonCauses:["Oversized cookie jar","Long Authorization token"],relatedStatuses:[]}},451:{code:451,phrase:"Unavailable For Legal Reasons",category:"Client Error",source:"IANA",rfc:"RFC7725",specUrl:"https://datatracker.ietf.org/doc/html/rfc7725#section-3",description:"The server is denying access to the resource as a consequence of a legal demand.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface the legal blockage to the user; do not retry.",commonCauses:["Court order","Government censorship","DMCA takedown"],relatedStatuses:[403]}},500:{code:500,phrase:"Internal Server Error",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.1"),description:"The server encountered an unexpected condition that prevented it from fulfilling the request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry idempotent requests with backoff; report to the operator if persistent.",commonCauses:["Unhandled exception","Database failure","Misconfiguration"],relatedStatuses:[502,503]}},501:{code:501,phrase:"Not Implemented",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.2"),description:"The server does not support the functionality required to fulfill the request.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Use a different method or endpoint; this feature is not supported.",commonCauses:["Server lacks support for the requested method."],relatedStatuses:[405]}},502:{code:502,phrase:"Bad Gateway",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.3"),description:"The server, while acting as a gateway or proxy, received an invalid response from an inbound server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; the upstream is likely transiently unhealthy.",commonCauses:["Upstream returned malformed response","Origin briefly down"],relatedStatuses:[503,504]}},503:{code:503,phrase:"Service Unavailable",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.4"),description:"The server is currently unable to handle the request due to a temporary overload or scheduled maintenance.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long the service is expected to be unavailable."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Respect Retry-After if present; otherwise back off exponentially.",commonCauses:["Overload","Scheduled maintenance","Circuit breaker open"],relatedStatuses:[429,502,504]}},504:{code:504,phrase:"Gateway Timeout",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.5"),description:"The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; consider increasing the upstream timeout.",commonCauses:["Slow upstream","Network partition"],relatedStatuses:[408,502]}},505:{code:505,phrase:"HTTP Version Not Supported",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.6"),description:"The server does not support, or refuses to support, the major version of HTTP that was used in the request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Downgrade or upgrade to a supported HTTP version and retry.",commonCauses:["Client speaks HTTP version the server has disabled."],relatedStatuses:[426]}},506:{code:506,phrase:"Variant Also Negotiates",category:"Server Error",source:"IANA",rfc:"RFC2295",specUrl:"https://datatracker.ietf.org/doc/html/rfc2295#section-8.1",description:"Transparent content negotiation for the request results in a circular reference.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Server-side configuration bug; report to the operator.",commonCauses:["Misconfigured content negotiation chain."],relatedStatuses:[]}},507:{code:507,phrase:"Insufficient Storage",category:"Server Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.5",description:"WebDAV: the method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry later or reduce payload size; storage is full upstream.",commonCauses:["Disk full on server."],relatedStatuses:[413]}},508:{code:508,phrase:"Loop Detected",category:"Server Error",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.2",description:"WebDAV: the server terminated an operation because it encountered an infinite loop while processing a request with Depth: infinity.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Restructure the request to avoid the cycle.",commonCauses:["Cyclic WebDAV bindings."],relatedStatuses:[]}},510:{code:510,phrase:"Not Extended",category:"Server Error",source:"IANA",rfc:"RFC2774",specUrl:"https://datatracker.ietf.org/doc/html/rfc2774#section-7",description:"Further extensions to the request are required for the server to fulfill it.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add the required HTTP extension declarations and retry.",commonCauses:["Server requires HTTP extension framework."],relatedStatuses:[]}},511:{code:511,phrase:"Network Authentication Required",category:"Server Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-6",description:"The client needs to authenticate to gain network access. Intended for captive portals.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Complete the captive portal flow, then retry.",commonCauses:["Public Wi-Fi captive portal."],relatedStatuses:[401]}}};
exports.IanaRegistry=a;exports.IanaStatus=r;

@@ -1,2 +0,2 @@

import { c as HttpStatusMetadata } from '../types-D9bAZ7ge.cjs';
import { c as HttpStatusMetadata } from '../types-4vBUR0dr.cjs';

@@ -3,0 +3,0 @@ declare const IanaStatus: {

@@ -1,2 +0,2 @@

import { c as HttpStatusMetadata } from '../types-D9bAZ7ge.js';
import { c as HttpStatusMetadata } from '../types-4vBUR0dr.js';

@@ -3,0 +3,0 @@ declare const IanaStatus: {

@@ -1,2 +0,2 @@

var r={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,IM_USED:226,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,CONTENT_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_CONTENT:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511},e=t=>`https://datatracker.ietf.org/doc/html/rfc9110#section-${t}`,a={100:{code:100,phrase:"Continue",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.1"),description:"The initial part of a request has been received and the client should continue to send the remainder of the request, or ignore the response if the request is already complete.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Expect",required:false,purpose:"Originating request header that triggers a 100 response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Continue sending the request body; treat as a successful handshake.",commonCauses:["Client sent Expect: 100-continue before a large body."],relatedStatuses:[417]}},101:{code:101,phrase:"Switching Protocols",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.2"),description:"The server understands and is willing to comply with the client request, via the Upgrade header field, for a change in the application protocol being used on this connection.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Lists the protocol(s) being switched to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Switch to the protocol named in the Upgrade header (e.g., WebSocket).",commonCauses:["Client requested protocol upgrade (WebSocket, HTTP/2 cleartext)."],relatedStatuses:[426]}},102:{code:102,phrase:"Processing",category:"Informational",source:"IANA",rfc:"RFC2518",specUrl:"https://datatracker.ietf.org/doc/html/rfc2518#section-10.1",description:"WebDAV interim response indicating that the server has accepted the complete request but has not yet completed it. Deprecated by some clients.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Keep the connection open and wait for the final response.",commonCauses:["Long-running WebDAV operation."],relatedStatuses:[]}},103:{code:103,phrase:"Early Hints",category:"Informational",source:"IANA",rfc:"RFC8297",specUrl:"https://datatracker.ietf.org/doc/html/rfc8297#section-2",description:"Used to return some response headers before the final HTTP message, typically to allow the client to preload resources via Link headers.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Link",required:false,purpose:"Preload/preconnect hints sent before the final response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Begin preloading hinted resources while awaiting the final response.",commonCauses:["Server-driven preload hints to reduce page load time."],relatedStatuses:[]}},200:{code:200,phrase:"OK",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.1"),description:"The request has succeeded. The payload sent depends on the request method.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse and use the response body.",commonCauses:["Standard successful request."],relatedStatuses:[201,204,206]}},201:{code:201,phrase:"Created",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.2"),description:"The request has been fulfilled and has resulted in one or more new resources being created. The primary resource URI is given by Location.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"URI of the newly created resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Read the Location header for the new resource URI.",commonCauses:["Successful POST or PUT that created a resource."],relatedStatuses:[200,202]}},202:{code:202,phrase:"Accepted",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.3"),description:"The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Poll the indicated status endpoint or wait for an async callback.",commonCauses:["Async job submission, batch processing."],relatedStatuses:[201,303]}},203:{code:203,phrase:"Non-Authoritative Information",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.4"),description:"The request was successful but the enclosed payload has been modified by a transforming proxy from that of the origin server.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as 200 OK but be aware the body may have been transformed by an intermediary.",commonCauses:["Transforming proxy modified the response."],relatedStatuses:[200]}},204:{code:204,phrase:"No Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.5"),description:"The server has successfully fulfilled the request and there is no additional content to send in the response payload body.",expectsEmptyBody:true,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not attempt to parse a body; treat as success.",commonCauses:["Successful DELETE or PUT/PATCH that returns no body."],relatedStatuses:[200,205]}},205:{code:205,phrase:"Reset Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.6"),description:"The server has fulfilled the request and desires that the user agent reset the document view which caused the request to be sent.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Clear the originating form or input view.",commonCauses:["Form submission that should reset on success."],relatedStatuses:[204]}},206:{code:206,phrase:"Partial Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.7"),description:"The server is successfully fulfilling a range request for the target resource by transferring one or more parts of the selected representation.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:true,purpose:"Indicates which byte range is in the body."},{name:"Accept-Ranges",required:false,purpose:"Indicates supported range units."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Assemble the byte range with previously fetched parts; resume support.",commonCauses:["Range request for video, large file, or resumable download."],relatedStatuses:[200,416]}},207:{code:207,phrase:"Multi-Status",category:"Success",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.1",description:"WebDAV: provides status for multiple independent operations in a single response (multistatus XML).",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse the multistatus XML body for per-resource status codes.",commonCauses:["WebDAV PROPFIND, PROPPATCH, COPY, MOVE, DELETE on collections."],relatedStatuses:[208]}},208:{code:208,phrase:"Already Reported",category:"Success",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.1",description:"WebDAV: used inside a 207 Multi-Status response to avoid repeatedly enumerating internal members of multiple bindings to the same collection.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as already-enumerated; do not re-fetch.",commonCauses:["WebDAV bindings already reported in the same multistatus."],relatedStatuses:[207]}},226:{code:226,phrase:"IM Used",category:"Success",source:"IANA",rfc:"RFC3229",specUrl:"https://datatracker.ietf.org/doc/html/rfc3229#section-10.4.1",description:"The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:["GET"],relatedHeaders:[{name:"IM",required:false,purpose:"Instance manipulation applied."},{name:"Delta-Base",required:false,purpose:"Base entity tag for delta encoding."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Apply the delta to the cached representation.",commonCauses:["Delta-encoded HTTP response."],relatedStatuses:[200]}},300:{code:300,phrase:"Multiple Choices",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.1"),description:"The target resource has more than one representation, each with its own more specific identifier, and information about the alternatives is provided.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"Server-preferred alternative URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Pick a representation from the listed alternatives or follow Location if provided.",commonCauses:["Content negotiation with multiple acceptable variants."],relatedStatuses:[301,302,303]}},301:{code:301,phrase:"Moved Permanently",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.2"),description:"The target resource has been assigned a new permanent URI and any future references to this resource ought to use the enclosed URI.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location; update bookmarks/links to the new URI.",commonCauses:["Permanent URL change, domain migration, HTTPS upgrade."],relatedStatuses:[308,302]}},302:{code:302,phrase:"Found",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.3"),description:"The target resource resides temporarily under a different URI. The client should continue to use the original request URI for future requests.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:["Moved Temporarily"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location for this request only; do not cache the redirect.",commonCauses:["Temporary redirect, post-login redirect."],relatedStatuses:[303,307]}},303:{code:303,phrase:"See Other",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.4"),description:"The server is redirecting the user agent to a different resource, as indicated by Location, that is intended to provide an indirect response to the original request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Target URI to GET."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Issue a GET to Location regardless of the original method.",commonCauses:["Post/Redirect/Get pattern after form submission."],relatedStatuses:[302,307]}},304:{code:304,phrase:"Not Modified",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.5"),description:"Indicates that the conditional request would have resulted in a 200 OK response if it were not for the fact that the condition evaluated to false.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"ETag",required:false,purpose:"Validator matching the cached representation."},{name:"Cache-Control",required:false,purpose:"Freshness directives."},{name:"Vary",required:false,purpose:"Headers that affected selection."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Serve from the local cache; the cached representation is still fresh.",commonCauses:["Conditional GET with If-None-Match or If-Modified-Since matched."],relatedStatuses:[200,412]}},305:{code:305,phrase:"Use Proxy",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.6"),description:"Deprecated. The requested resource must be accessed through a specified proxy.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Ignore; modern clients must not honor 305 for security reasons.",commonCauses:["Legacy proxy configuration."],relatedStatuses:[]}},307:{code:307,phrase:"Temporary Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.8"),description:"The target resource resides temporarily under a different URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method and body.",commonCauses:["Temporary redirect where method preservation matters (e.g., POST)."],relatedStatuses:[302,308]}},308:{code:308,phrase:"Permanent Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.9"),description:"The target resource has been assigned a new permanent URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method; update stored references.",commonCauses:["Permanent move where method preservation matters."],relatedStatuses:[301,307]}},400:{code:400,phrase:"Bad Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.1"),description:"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed syntax, invalid framing).",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Fix the request payload or syntax; do not retry as-is.",commonCauses:["Malformed JSON","Missing required field","Invalid header syntax"],relatedStatuses:[422,415]}},401:{code:401,phrase:"Unauthorized",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.2"),description:"The request has not been applied because it lacks valid authentication credentials for the target resource.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"WWW-Authenticate",required:true,purpose:"Challenge describing the auth scheme."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Acquire valid credentials and retry with an Authorization header.",commonCauses:["Missing or expired token","Wrong credentials","Token revoked"],relatedStatuses:[403,407]}},402:{code:402,phrase:"Payment Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.3"),description:"Reserved for future use. Originally intended for digital payment systems.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface payment/billing requirement to the user; do not auto-retry.",commonCauses:["API quota exhausted on paid tier","Subscription expired"],relatedStatuses:[403,429]}},403:{code:403,phrase:"Forbidden",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.4"),description:"The server understood the request but refuses to authorize it. Re-authenticating will not help.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not retry; the principal lacks permission for this resource.",commonCauses:["Insufficient role/scope","IP blocked","CSRF check failed"],relatedStatuses:[401,451]}},404:{code:404,phrase:"Not Found",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.5"),description:"The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Verify the URL; do not retry unless the resource is expected to appear later.",commonCauses:["Typo in URL","Resource deleted","Privacy-preserving hide of 403"],relatedStatuses:[410,403]}},405:{code:405,phrase:"Method Not Allowed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.6"),description:"The method received in the request-line is known by the origin server but not supported by the target resource.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Allow",required:true,purpose:"Lists the methods supported by the target resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Inspect Allow header and reissue with a permitted method.",commonCauses:["Wrong HTTP verb for the endpoint."],relatedStatuses:[501]}},406:{code:406,phrase:"Not Acceptable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.7"),description:"The target resource does not have a current representation that would be acceptable to the user agent according to the proactive negotiation header fields.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Accept",required:false,purpose:"Originating preference header."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Relax Accept/Accept-Language constraints and retry.",commonCauses:["No representation matches the client's Accept headers."],relatedStatuses:[415]}},407:{code:407,phrase:"Proxy Authentication Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.8"),description:"Similar to 401 but indicates that the client needs to authenticate itself in order to use a proxy.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"Proxy-Authenticate",required:true,purpose:"Proxy auth challenge."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Supply Proxy-Authorization and retry.",commonCauses:["Corporate proxy requiring authentication."],relatedStatuses:[401]}},408:{code:408,phrase:"Request Timeout",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.9"),description:"The server did not receive a complete request message within the time that it was prepared to wait.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry the request with backoff; consider increasing client timeout.",commonCauses:["Slow client","Network congestion","Idle keep-alive connection closed"],relatedStatuses:[504]}},409:{code:409,phrase:"Conflict",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.10"),description:"The request could not be completed due to a conflict with the current state of the target resource.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-read the current resource state and resolve the conflict before resubmitting.",commonCauses:["Concurrent edit collision","Duplicate resource creation","Version mismatch"],relatedStatuses:[412,428]}},410:{code:410,phrase:"Gone",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.11"),description:"Access to the target resource is no longer available at the origin server and this condition is likely to be permanent.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove any cached references; do not retry.",commonCauses:["Permanently deleted resource."],relatedStatuses:[404]}},411:{code:411,phrase:"Length Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.12"),description:"The server refuses to accept the request without a defined Content-Length.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Content-Length",required:true,purpose:"Length of the request body in octets."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add Content-Length and retry.",commonCauses:["Chunked transfer rejected by server."],relatedStatuses:[]}},412:{code:412,phrase:"Precondition Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.13"),description:"One or more conditions given in the request header fields evaluated to false when tested on the server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"If-Match",required:false,purpose:"Originating precondition."},{name:"If-Unmodified-Since",required:false,purpose:"Originating precondition."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-fetch current ETag/Last-Modified and retry with the new validator.",commonCauses:["Stale If-Match","Optimistic concurrency control mismatch"],relatedStatuses:[409,428]}},413:{code:413,phrase:"Content Too Large",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.14"),description:"The server is refusing to process a request because the request content is larger than the server is willing or able to process.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates when the condition may be temporary."}],aliases:["Payload Too Large","Request Entity Too Large"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Reduce body size, chunk the upload, or use a different endpoint.",commonCauses:["Upload exceeds server limit."],relatedStatuses:[]}},414:{code:414,phrase:"URI Too Long",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.15"),description:"The server is refusing to service the request because the request-target is longer than the server is willing to interpret.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Request-URI Too Long"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Shorten the URL; move parameters into a POST body.",commonCauses:["Excessive query string","Loop generating long redirect URI"],relatedStatuses:[]}},415:{code:415,phrase:"Unsupported Media Type",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.16"),description:"The server is refusing to service the request because the content is in a format not supported by this method on the target resource.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Accept",required:false,purpose:"Indicates supported response types."},{name:"Accept-Encoding",required:false,purpose:"Indicates supported encodings."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Set Content-Type to a supported value and retry.",commonCauses:["Wrong Content-Type","Unsupported encoding"],relatedStatuses:[406]}},416:{code:416,phrase:"Range Not Satisfiable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.17"),description:"None of the ranges in the request's Range header field overlap the current extent of the selected resource, or the set of ranges requested has been rejected.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:false,purpose:"Total size of the representation."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-check the resource length and request a valid range.",commonCauses:["Range beyond resource length."],relatedStatuses:[206]}},417:{code:417,phrase:"Expectation Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.18"),description:"The expectation given in the request's Expect header field could not be met by at least one of the inbound servers.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove the Expect header and retry.",commonCauses:["Server does not support Expect: 100-continue."],relatedStatuses:[100]}},418:{code:418,phrase:"I'm a teapot",category:"Client Error",source:"IANA",rfc:"RFC2324",specUrl:"https://datatracker.ietf.org/doc/html/rfc2324#section-2.3.2",description:"Any attempt to brew coffee with a teapot should result in the error code 418 I'm a teapot. A joke status from the Hyper Text Coffee Pot Control Protocol.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a humorous easter egg or anti-bot signal; do not retry.",commonCauses:["Server is signaling a refusal humorously."],relatedStatuses:[]}},421:{code:421,phrase:"Misdirected Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.20"),description:"The request was directed at a server that is not able to produce a response. This can be sent by a server that is not configured to produce responses for the combination of scheme and authority included in the request URI.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Re-resolve the host and open a new connection before retrying.",commonCauses:["HTTP/2 connection coalescing to wrong origin."],relatedStatuses:[]}},422:{code:422,phrase:"Unprocessable Content",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.21"),description:"The server understands the content type of the request content and the syntax of the request content is correct, but it was unable to process the contained instructions.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Unprocessable Entity"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Validate semantic constraints (e.g., schema validation errors) and resubmit.",commonCauses:["Schema validation failure","Business rule violation"],relatedStatuses:[400]}},423:{code:423,phrase:"Locked",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.3",description:"WebDAV: the source or destination resource is locked.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Acquire the lock or wait for it to release, then retry.",commonCauses:["WebDAV resource locked by another client."],relatedStatuses:[424]}},424:{code:424,phrase:"Failed Dependency",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.4",description:"WebDAV: the method could not be performed on the resource because the requested action depended on another action which failed.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Resolve the failing prerequisite action first.",commonCauses:["Prior WebDAV operation in the same request failed."],relatedStatuses:[423]}},425:{code:425,phrase:"Too Early",category:"Client Error",source:"IANA",rfc:"RFC8470",specUrl:"https://datatracker.ietf.org/doc/html/rfc8470#section-5.2",description:"Indicates that the server is unwilling to risk processing a request that might be replayed (e.g., TLS 1.3 early data).",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Early-Data",required:false,purpose:"Indicates the request was sent in TLS early data."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Retry the request after the TLS handshake completes.",commonCauses:["Request sent in TLS 1.3 0-RTT early data."],relatedStatuses:[]}},426:{code:426,phrase:"Upgrade Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.22"),description:"The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Protocols the server is willing to switch to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Upgrade to the protocol indicated in Upgrade and retry.",commonCauses:["Server requires HTTPS or HTTP/2."],relatedStatuses:[101]}},428:{code:428,phrase:"Precondition Required",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-3",description:"The origin server requires the request to be conditional. Intended to prevent the lost update problem.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add If-Match or If-Unmodified-Since and retry.",commonCauses:["Server enforces optimistic concurrency control."],relatedStatuses:[412]}},429:{code:429,phrase:"Too Many Requests",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-4",description:'The user has sent too many requests in a given amount of time ("rate limiting").',expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long to wait before retrying."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Wait the duration in Retry-After (or back off exponentially) and retry.",commonCauses:["Rate limit exceeded."],relatedStatuses:[503,509]}},431:{code:431,phrase:"Request Header Fields Too Large",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-5",description:"The server is unwilling to process the request because its header fields are too large.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim cookies/headers and retry.",commonCauses:["Oversized cookie jar","Long Authorization token"],relatedStatuses:[]}},451:{code:451,phrase:"Unavailable For Legal Reasons",category:"Client Error",source:"IANA",rfc:"RFC7725",specUrl:"https://datatracker.ietf.org/doc/html/rfc7725#section-3",description:"The server is denying access to the resource as a consequence of a legal demand.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface the legal blockage to the user; do not retry.",commonCauses:["Court order","Government censorship","DMCA takedown"],relatedStatuses:[403]}},500:{code:500,phrase:"Internal Server Error",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.1"),description:"The server encountered an unexpected condition that prevented it from fulfilling the request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry idempotent requests with backoff; report to the operator if persistent.",commonCauses:["Unhandled exception","Database failure","Misconfiguration"],relatedStatuses:[502,503]}},501:{code:501,phrase:"Not Implemented",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.2"),description:"The server does not support the functionality required to fulfill the request.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Use a different method or endpoint; this feature is not supported.",commonCauses:["Server lacks support for the requested method."],relatedStatuses:[405]}},502:{code:502,phrase:"Bad Gateway",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.3"),description:"The server, while acting as a gateway or proxy, received an invalid response from an inbound server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; the upstream is likely transiently unhealthy.",commonCauses:["Upstream returned malformed response","Origin briefly down"],relatedStatuses:[503,504]}},503:{code:503,phrase:"Service Unavailable",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.4"),description:"The server is currently unable to handle the request due to a temporary overload or scheduled maintenance.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long the service is expected to be unavailable."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Respect Retry-After if present; otherwise back off exponentially.",commonCauses:["Overload","Scheduled maintenance","Circuit breaker open"],relatedStatuses:[429,502,504]}},504:{code:504,phrase:"Gateway Timeout",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.5"),description:"The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; consider increasing the upstream timeout.",commonCauses:["Slow upstream","Network partition"],relatedStatuses:[408,502]}},505:{code:505,phrase:"HTTP Version Not Supported",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.6"),description:"The server does not support, or refuses to support, the major version of HTTP that was used in the request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Downgrade or upgrade to a supported HTTP version and retry.",commonCauses:["Client speaks HTTP version the server has disabled."],relatedStatuses:[426]}},506:{code:506,phrase:"Variant Also Negotiates",category:"Server Error",source:"IANA",rfc:"RFC2295",specUrl:"https://datatracker.ietf.org/doc/html/rfc2295#section-8.1",description:"Transparent content negotiation for the request results in a circular reference.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Server-side configuration bug; report to the operator.",commonCauses:["Misconfigured content negotiation chain."],relatedStatuses:[]}},507:{code:507,phrase:"Insufficient Storage",category:"Server Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.5",description:"WebDAV: the method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry later or reduce payload size; storage is full upstream.",commonCauses:["Disk full on server."],relatedStatuses:[413]}},508:{code:508,phrase:"Loop Detected",category:"Server Error",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.2",description:"WebDAV: the server terminated an operation because it encountered an infinite loop while processing a request with Depth: infinity.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Restructure the request to avoid the cycle.",commonCauses:["Cyclic WebDAV bindings."],relatedStatuses:[]}},510:{code:510,phrase:"Not Extended",category:"Server Error",source:"IANA",rfc:"RFC2774",specUrl:"https://datatracker.ietf.org/doc/html/rfc2774#section-7",description:"Further extensions to the request are required for the server to fulfill it.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add the required HTTP extension declarations and retry.",commonCauses:["Server requires HTTP extension framework."],relatedStatuses:[]}},511:{code:511,phrase:"Network Authentication Required",category:"Server Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-6",description:"The client needs to authenticate to gain network access. Intended for captive portals.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Complete the captive portal flow, then retry.",commonCauses:["Public Wi-Fi captive portal."],relatedStatuses:[401]}}};
var r={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,IM_USED:226,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,CONTENT_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_CONTENT:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511},e=t=>`https://datatracker.ietf.org/doc/html/rfc9110#section-${t}`,a={100:{code:100,phrase:"Continue",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.1"),description:"The initial part of a request has been received and the client should continue to send the remainder of the request, or ignore the response if the request is already complete.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Expect",required:false,purpose:"Originating request header that triggers a 100 response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Continue sending the request body; treat as a successful handshake.",commonCauses:["Client sent Expect: 100-continue before a large body."],relatedStatuses:[417]}},101:{code:101,phrase:"Switching Protocols",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.2"),description:"The server understands and is willing to comply with the client request, via the Upgrade header field, for a change in the application protocol being used on this connection.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Lists the protocol(s) being switched to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Switch to the protocol named in the Upgrade header (e.g., WebSocket).",commonCauses:["Client requested protocol upgrade (WebSocket, HTTP/2 cleartext)."],relatedStatuses:[426]}},102:{code:102,phrase:"Processing",category:"Informational",source:"IANA",rfc:"RFC2518",specUrl:"https://datatracker.ietf.org/doc/html/rfc2518#section-10.1",description:"WebDAV interim response indicating that the server has accepted the complete request but has not yet completed it. Deprecated by some clients.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Keep the connection open and wait for the final response.",commonCauses:["Long-running WebDAV operation."],relatedStatuses:[]}},103:{code:103,phrase:"Early Hints",category:"Informational",source:"IANA",rfc:"RFC8297",specUrl:"https://datatracker.ietf.org/doc/html/rfc8297#section-2",description:"Used to return some response headers before the final HTTP message, typically to allow the client to preload resources via Link headers.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Link",required:false,purpose:"Preload/preconnect hints sent before the final response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Begin preloading hinted resources while awaiting the final response.",commonCauses:["Server-driven preload hints to reduce page load time."],relatedStatuses:[]}},200:{code:200,phrase:"OK",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.1"),description:"The request has succeeded. The payload sent depends on the request method.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse and use the response body.",commonCauses:["Standard successful request."],relatedStatuses:[201,204,206]}},201:{code:201,phrase:"Created",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.2"),description:"The request has been fulfilled and has resulted in one or more new resources being created. The primary resource URI is given by Location.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"URI of the newly created resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Read the Location header for the new resource URI.",commonCauses:["Successful POST or PUT that created a resource."],relatedStatuses:[200,202]}},202:{code:202,phrase:"Accepted",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.3"),description:"The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Poll the indicated status endpoint or wait for an async callback.",commonCauses:["Async job submission, batch processing."],relatedStatuses:[201,303]}},203:{code:203,phrase:"Non-Authoritative Information",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.4"),description:"The request was successful but the enclosed payload has been modified by a transforming proxy from that of the origin server.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as 200 OK but be aware the body may have been transformed by an intermediary.",commonCauses:["Transforming proxy modified the response."],relatedStatuses:[200]}},204:{code:204,phrase:"No Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.5"),description:"The server has successfully fulfilled the request and there is no additional content to send in the response payload body.",expectsEmptyBody:true,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not attempt to parse a body; treat as success.",commonCauses:["Successful DELETE or PUT/PATCH that returns no body."],relatedStatuses:[200,205]}},205:{code:205,phrase:"Reset Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.6"),description:"The server has fulfilled the request and desires that the user agent reset the document view which caused the request to be sent.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Clear the originating form or input view.",commonCauses:["Form submission that should reset on success."],relatedStatuses:[204]}},206:{code:206,phrase:"Partial Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.7"),description:"The server is successfully fulfilling a range request for the target resource by transferring one or more parts of the selected representation.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:true,purpose:"Indicates which byte range is in the body."},{name:"Accept-Ranges",required:false,purpose:"Indicates supported range units."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Assemble the byte range with previously fetched parts; resume support.",commonCauses:["Range request for video, large file, or resumable download."],relatedStatuses:[200,416]}},207:{code:207,phrase:"Multi-Status",category:"Success",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.1",description:"WebDAV: provides status for multiple independent operations in a single response (multistatus XML).",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse the multistatus XML body for per-resource status codes.",commonCauses:["WebDAV PROPFIND, PROPPATCH, COPY, MOVE, DELETE on collections."],relatedStatuses:[208]}},208:{code:208,phrase:"Already Reported",category:"Success",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.1",description:"WebDAV: used inside a 207 Multi-Status response to avoid repeatedly enumerating internal members of multiple bindings to the same collection.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as already-enumerated; do not re-fetch.",commonCauses:["WebDAV bindings already reported in the same multistatus."],relatedStatuses:[207]}},226:{code:226,phrase:"IM Used",category:"Success",source:"IANA",rfc:"RFC3229",specUrl:"https://datatracker.ietf.org/doc/html/rfc3229#section-10.4.1",description:"The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:["GET"],relatedHeaders:[{name:"IM",required:false,purpose:"Instance manipulation applied."},{name:"Delta-Base",required:false,purpose:"Base entity tag for delta encoding."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Apply the delta to the cached representation.",commonCauses:["Delta-encoded HTTP response."],relatedStatuses:[200]}},300:{code:300,phrase:"Multiple Choices",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.1"),description:"The target resource has more than one representation, each with its own more specific identifier, and information about the alternatives is provided.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"Server-preferred alternative URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Pick a representation from the listed alternatives or follow Location if provided.",commonCauses:["Content negotiation with multiple acceptable variants."],relatedStatuses:[301,302,303]}},301:{code:301,phrase:"Moved Permanently",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.2"),description:"The target resource has been assigned a new permanent URI and any future references to this resource ought to use the enclosed URI.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location; update bookmarks/links to the new URI.",commonCauses:["Permanent URL change, domain migration, HTTPS upgrade."],relatedStatuses:[308,302]}},302:{code:302,phrase:"Found",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.3"),description:"The target resource resides temporarily under a different URI. The client should continue to use the original request URI for future requests.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:["Moved Temporarily"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location for this request only; do not cache the redirect.",commonCauses:["Temporary redirect, post-login redirect."],relatedStatuses:[303,307]}},303:{code:303,phrase:"See Other",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.4"),description:"The server is redirecting the user agent to a different resource, as indicated by Location, that is intended to provide an indirect response to the original request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Target URI to GET."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Issue a GET to Location regardless of the original method.",commonCauses:["Post/Redirect/Get pattern after form submission."],relatedStatuses:[302,307]}},304:{code:304,phrase:"Not Modified",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.5"),description:"Indicates that the conditional request would have resulted in a 200 OK response if it were not for the fact that the condition evaluated to false.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"ETag",required:false,purpose:"Validator matching the cached representation."},{name:"Cache-Control",required:false,purpose:"Freshness directives."},{name:"Vary",required:false,purpose:"Headers that affected selection."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Serve from the local cache; the cached representation is still fresh.",commonCauses:["Conditional GET with If-None-Match or If-Modified-Since matched."],relatedStatuses:[200,412]}},305:{code:305,phrase:"Use Proxy",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.6"),description:"Deprecated. The requested resource must be accessed through a specified proxy.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Ignore; modern clients must not honor 305 for security reasons.",commonCauses:["Legacy proxy configuration."],relatedStatuses:[]}},307:{code:307,phrase:"Temporary Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.8"),description:"The target resource resides temporarily under a different URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method and body.",commonCauses:["Temporary redirect where method preservation matters (e.g., POST)."],relatedStatuses:[302,308]}},308:{code:308,phrase:"Permanent Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.9"),description:"The target resource has been assigned a new permanent URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method; update stored references.",commonCauses:["Permanent move where method preservation matters."],relatedStatuses:[301,307]}},400:{code:400,phrase:"Bad Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.1"),description:"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed syntax, invalid framing).",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Fix the request payload or syntax; do not retry as-is.",commonCauses:["Malformed JSON","Missing required field","Invalid header syntax"],relatedStatuses:[422,415]}},401:{code:401,phrase:"Unauthorized",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.2"),description:"The request has not been applied because it lacks valid authentication credentials for the target resource.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"WWW-Authenticate",required:true,purpose:"Challenge describing the auth scheme."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Acquire valid credentials and retry with an Authorization header.",commonCauses:["Missing or expired token","Wrong credentials","Token revoked"],relatedStatuses:[403,407]}},402:{code:402,phrase:"Payment Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.3"),description:"Reserved for future use. Originally intended for digital payment systems.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface payment/billing requirement to the user; do not auto-retry.",commonCauses:["API quota exhausted on paid tier","Subscription expired"],relatedStatuses:[403,429]}},403:{code:403,phrase:"Forbidden",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.4"),description:"The server understood the request but refuses to authorize it. Re-authenticating will not help.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not retry; the principal lacks permission for this resource.",commonCauses:["Insufficient role/scope","IP blocked","CSRF check failed"],relatedStatuses:[401,451]}},404:{code:404,phrase:"Not Found",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.5"),description:"The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Verify the URL; do not retry unless the resource is expected to appear later.",commonCauses:["Typo in URL","Resource deleted","Privacy-preserving hide of 403"],relatedStatuses:[410,403]}},405:{code:405,phrase:"Method Not Allowed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.6"),description:"The method received in the request-line is known by the origin server but not supported by the target resource.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Allow",required:true,purpose:"Lists the methods supported by the target resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Inspect Allow header and reissue with a permitted method.",commonCauses:["Wrong HTTP verb for the endpoint."],relatedStatuses:[501]}},406:{code:406,phrase:"Not Acceptable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.7"),description:"The target resource does not have a current representation that would be acceptable to the user agent according to the proactive negotiation header fields.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Accept",required:false,purpose:"Originating preference header."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Relax Accept/Accept-Language constraints and retry.",commonCauses:["No representation matches the client's Accept headers."],relatedStatuses:[415]}},407:{code:407,phrase:"Proxy Authentication Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.8"),description:"Similar to 401 but indicates that the client needs to authenticate itself in order to use a proxy.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"Proxy-Authenticate",required:true,purpose:"Proxy auth challenge."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Supply Proxy-Authorization and retry.",commonCauses:["Corporate proxy requiring authentication."],relatedStatuses:[401]}},408:{code:408,phrase:"Request Timeout",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.9"),description:"The server did not receive a complete request message within the time that it was prepared to wait.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry the request with backoff; consider increasing client timeout.",commonCauses:["Slow client","Network congestion","Idle keep-alive connection closed"],relatedStatuses:[504]}},409:{code:409,phrase:"Conflict",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.10"),description:"The request could not be completed due to a conflict with the current state of the target resource.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-read the current resource state and resolve the conflict before resubmitting.",commonCauses:["Concurrent edit collision","Duplicate resource creation","Version mismatch"],relatedStatuses:[412,428]}},410:{code:410,phrase:"Gone",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.11"),description:"Access to the target resource is no longer available at the origin server and this condition is likely to be permanent.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove any cached references; do not retry.",commonCauses:["Permanently deleted resource."],relatedStatuses:[404]}},411:{code:411,phrase:"Length Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.12"),description:"The server refuses to accept the request without a defined Content-Length.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Content-Length",required:true,purpose:"Length of the request body in octets."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add Content-Length and retry.",commonCauses:["Chunked transfer rejected by server."],relatedStatuses:[]}},412:{code:412,phrase:"Precondition Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.13"),description:"One or more conditions given in the request header fields evaluated to false when tested on the server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"If-Match",required:false,purpose:"Originating precondition."},{name:"If-Unmodified-Since",required:false,purpose:"Originating precondition."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-fetch current ETag/Last-Modified and retry with the new validator.",commonCauses:["Stale If-Match","Optimistic concurrency control mismatch"],relatedStatuses:[409,428]}},413:{code:413,phrase:"Content Too Large",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.14"),description:"The server is refusing to process a request because the request content is larger than the server is willing or able to process.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates when the condition may be temporary."}],aliases:["Payload Too Large","Request Entity Too Large"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Reduce body size, chunk the upload, or use a different endpoint.",commonCauses:["Upload exceeds server limit."],relatedStatuses:[]}},414:{code:414,phrase:"URI Too Long",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.15"),description:"The server is refusing to service the request because the request-target is longer than the server is willing to interpret.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Request-URI Too Long"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Shorten the URL; move parameters into a POST body.",commonCauses:["Excessive query string","Loop generating long redirect URI"],relatedStatuses:[]}},415:{code:415,phrase:"Unsupported Media Type",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.16"),description:"The server is refusing to service the request because the content is in a format not supported by this method on the target resource.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Accept",required:false,purpose:"Indicates supported response types."},{name:"Accept-Encoding",required:false,purpose:"Indicates supported encodings."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Set Content-Type to a supported value and retry.",commonCauses:["Wrong Content-Type","Unsupported encoding"],relatedStatuses:[406]}},416:{code:416,phrase:"Range Not Satisfiable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.17"),description:"None of the ranges in the request's Range header field overlap the current extent of the selected resource, or the set of ranges requested has been rejected.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:false,purpose:"Total size of the representation."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-check the resource length and request a valid range.",commonCauses:["Range beyond resource length."],relatedStatuses:[206]}},417:{code:417,phrase:"Expectation Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.18"),description:"The expectation given in the request's Expect header field could not be met by at least one of the inbound servers.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove the Expect header and retry.",commonCauses:["Server does not support Expect: 100-continue."],relatedStatuses:[100]}},418:{code:418,phrase:"I'm a teapot",category:"Client Error",source:"IANA",rfc:"RFC2324",specUrl:"https://datatracker.ietf.org/doc/html/rfc2324#section-2.3.2",description:"Any attempt to brew coffee with a teapot should result in the error code 418 I'm a teapot. A joke status from the Hyper Text Coffee Pot Control Protocol.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a humorous easter egg or anti-bot signal; do not retry.",commonCauses:["Server is signaling a refusal humorously."],relatedStatuses:[]}},421:{code:421,phrase:"Misdirected Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.20"),description:"The request was directed at a server that is not able to produce a response. This can be sent by a server that is not configured to produce responses for the combination of scheme and authority included in the request URI.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Re-resolve the host and open a new connection before retrying.",commonCauses:["HTTP/2 connection coalescing to wrong origin."],relatedStatuses:[]}},422:{code:422,phrase:"Unprocessable Content",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.21"),description:"The server understands the content type of the request content and the syntax of the request content is correct, but it was unable to process the contained instructions.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Unprocessable Entity"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Validate semantic constraints (e.g., schema validation errors) and resubmit.",commonCauses:["Schema validation failure","Business rule violation"],relatedStatuses:[400]}},423:{code:423,phrase:"Locked",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.3",description:"WebDAV: the source or destination resource is locked.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Acquire the lock or wait for it to release, then retry.",commonCauses:["WebDAV resource locked by another client."],relatedStatuses:[424]}},424:{code:424,phrase:"Failed Dependency",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.4",description:"WebDAV: the method could not be performed on the resource because the requested action depended on another action which failed.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Resolve the failing prerequisite action first.",commonCauses:["Prior WebDAV operation in the same request failed."],relatedStatuses:[423]}},425:{code:425,phrase:"Too Early",category:"Client Error",source:"IANA",rfc:"RFC8470",specUrl:"https://datatracker.ietf.org/doc/html/rfc8470#section-5.2",description:"Indicates that the server is unwilling to risk processing a request that might be replayed (e.g., TLS 1.3 early data).",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Early-Data",required:false,purpose:"Indicates the request was sent in TLS early data."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Retry the request after the TLS handshake completes.",commonCauses:["Request sent in TLS 1.3 0-RTT early data."],relatedStatuses:[]}},426:{code:426,phrase:"Upgrade Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.22"),description:"The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Protocols the server is willing to switch to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Upgrade to the protocol indicated in Upgrade and retry.",commonCauses:["Server requires HTTPS or HTTP/2."],relatedStatuses:[101]}},428:{code:428,phrase:"Precondition Required",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-3",description:"The origin server requires the request to be conditional. Intended to prevent the lost update problem.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add If-Match or If-Unmodified-Since and retry.",commonCauses:["Server enforces optimistic concurrency control."],relatedStatuses:[412]}},429:{code:429,phrase:"Too Many Requests",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-4",description:'The user has sent too many requests in a given amount of time ("rate limiting").',expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long to wait before retrying."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Wait the duration in Retry-After (or back off exponentially) and retry.",commonCauses:["Rate limit exceeded."],relatedStatuses:[503,509]}},431:{code:431,phrase:"Request Header Fields Too Large",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-5",description:"The server is unwilling to process the request because its header fields are too large.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim cookies/headers and retry.",commonCauses:["Oversized cookie jar","Long Authorization token"],relatedStatuses:[]}},451:{code:451,phrase:"Unavailable For Legal Reasons",category:"Client Error",source:"IANA",rfc:"RFC7725",specUrl:"https://datatracker.ietf.org/doc/html/rfc7725#section-3",description:"The server is denying access to the resource as a consequence of a legal demand.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface the legal blockage to the user; do not retry.",commonCauses:["Court order","Government censorship","DMCA takedown"],relatedStatuses:[403]}},500:{code:500,phrase:"Internal Server Error",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.1"),description:"The server encountered an unexpected condition that prevented it from fulfilling the request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry idempotent requests with backoff; report to the operator if persistent.",commonCauses:["Unhandled exception","Database failure","Misconfiguration"],relatedStatuses:[502,503]}},501:{code:501,phrase:"Not Implemented",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.2"),description:"The server does not support the functionality required to fulfill the request.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Use a different method or endpoint; this feature is not supported.",commonCauses:["Server lacks support for the requested method."],relatedStatuses:[405]}},502:{code:502,phrase:"Bad Gateway",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.3"),description:"The server, while acting as a gateway or proxy, received an invalid response from an inbound server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; the upstream is likely transiently unhealthy.",commonCauses:["Upstream returned malformed response","Origin briefly down"],relatedStatuses:[503,504]}},503:{code:503,phrase:"Service Unavailable",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.4"),description:"The server is currently unable to handle the request due to a temporary overload or scheduled maintenance.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long the service is expected to be unavailable."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Respect Retry-After if present; otherwise back off exponentially.",commonCauses:["Overload","Scheduled maintenance","Circuit breaker open"],relatedStatuses:[429,502,504]}},504:{code:504,phrase:"Gateway Timeout",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.5"),description:"The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; consider increasing the upstream timeout.",commonCauses:["Slow upstream","Network partition"],relatedStatuses:[408,502]}},505:{code:505,phrase:"HTTP Version Not Supported",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.6"),description:"The server does not support, or refuses to support, the major version of HTTP that was used in the request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Downgrade or upgrade to a supported HTTP version and retry.",commonCauses:["Client speaks HTTP version the server has disabled."],relatedStatuses:[426]}},506:{code:506,phrase:"Variant Also Negotiates",category:"Server Error",source:"IANA",rfc:"RFC2295",specUrl:"https://datatracker.ietf.org/doc/html/rfc2295#section-8.1",description:"Transparent content negotiation for the request results in a circular reference.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Server-side configuration bug; report to the operator.",commonCauses:["Misconfigured content negotiation chain."],relatedStatuses:[]}},507:{code:507,phrase:"Insufficient Storage",category:"Server Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.5",description:"WebDAV: the method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry later or reduce payload size; storage is full upstream.",commonCauses:["Disk full on server."],relatedStatuses:[413]}},508:{code:508,phrase:"Loop Detected",category:"Server Error",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.2",description:"WebDAV: the server terminated an operation because it encountered an infinite loop while processing a request with Depth: infinity.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Restructure the request to avoid the cycle.",commonCauses:["Cyclic WebDAV bindings."],relatedStatuses:[]}},510:{code:510,phrase:"Not Extended",category:"Server Error",source:"IANA",rfc:"RFC2774",specUrl:"https://datatracker.ietf.org/doc/html/rfc2774#section-7",description:"Further extensions to the request are required for the server to fulfill it.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add the required HTTP extension declarations and retry.",commonCauses:["Server requires HTTP extension framework."],relatedStatuses:[]}},511:{code:511,phrase:"Network Authentication Required",category:"Server Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-6",description:"The client needs to authenticate to gain network access. Intended for captive portals.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Complete the captive portal flow, then retry.",commonCauses:["Public Wi-Fi captive portal."],relatedStatuses:[401]}}};
export{a as IanaRegistry,r as IanaStatus};

@@ -1,2 +0,2 @@

'use strict';var p={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,IM_USED:226,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,CONTENT_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_CONTENT:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511},e=t=>`https://datatracker.ietf.org/doc/html/rfc9110#section-${t}`,a={100:{code:100,phrase:"Continue",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.1"),description:"The initial part of a request has been received and the client should continue to send the remainder of the request, or ignore the response if the request is already complete.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Expect",required:false,purpose:"Originating request header that triggers a 100 response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Continue sending the request body; treat as a successful handshake.",commonCauses:["Client sent Expect: 100-continue before a large body."],relatedStatuses:[417]}},101:{code:101,phrase:"Switching Protocols",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.2"),description:"The server understands and is willing to comply with the client request, via the Upgrade header field, for a change in the application protocol being used on this connection.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Lists the protocol(s) being switched to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Switch to the protocol named in the Upgrade header (e.g., WebSocket).",commonCauses:["Client requested protocol upgrade (WebSocket, HTTP/2 cleartext)."],relatedStatuses:[426]}},102:{code:102,phrase:"Processing",category:"Informational",source:"IANA",rfc:"RFC2518",specUrl:"https://datatracker.ietf.org/doc/html/rfc2518#section-10.1",description:"WebDAV interim response indicating that the server has accepted the complete request but has not yet completed it. Deprecated by some clients.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Keep the connection open and wait for the final response.",commonCauses:["Long-running WebDAV operation."],relatedStatuses:[]}},103:{code:103,phrase:"Early Hints",category:"Informational",source:"IANA",rfc:"RFC8297",specUrl:"https://datatracker.ietf.org/doc/html/rfc8297#section-2",description:"Used to return some response headers before the final HTTP message, typically to allow the client to preload resources via Link headers.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Link",required:false,purpose:"Preload/preconnect hints sent before the final response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Begin preloading hinted resources while awaiting the final response.",commonCauses:["Server-driven preload hints to reduce page load time."],relatedStatuses:[]}},200:{code:200,phrase:"OK",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.1"),description:"The request has succeeded. The payload sent depends on the request method.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse and use the response body.",commonCauses:["Standard successful request."],relatedStatuses:[201,204,206]}},201:{code:201,phrase:"Created",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.2"),description:"The request has been fulfilled and has resulted in one or more new resources being created. The primary resource URI is given by Location.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"URI of the newly created resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Read the Location header for the new resource URI.",commonCauses:["Successful POST or PUT that created a resource."],relatedStatuses:[200,202]}},202:{code:202,phrase:"Accepted",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.3"),description:"The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Poll the indicated status endpoint or wait for an async callback.",commonCauses:["Async job submission, batch processing."],relatedStatuses:[201,303]}},203:{code:203,phrase:"Non-Authoritative Information",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.4"),description:"The request was successful but the enclosed payload has been modified by a transforming proxy from that of the origin server.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as 200 OK but be aware the body may have been transformed by an intermediary.",commonCauses:["Transforming proxy modified the response."],relatedStatuses:[200]}},204:{code:204,phrase:"No Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.5"),description:"The server has successfully fulfilled the request and there is no additional content to send in the response payload body.",expectsEmptyBody:true,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not attempt to parse a body; treat as success.",commonCauses:["Successful DELETE or PUT/PATCH that returns no body."],relatedStatuses:[200,205]}},205:{code:205,phrase:"Reset Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.6"),description:"The server has fulfilled the request and desires that the user agent reset the document view which caused the request to be sent.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Clear the originating form or input view.",commonCauses:["Form submission that should reset on success."],relatedStatuses:[204]}},206:{code:206,phrase:"Partial Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.7"),description:"The server is successfully fulfilling a range request for the target resource by transferring one or more parts of the selected representation.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:true,purpose:"Indicates which byte range is in the body."},{name:"Accept-Ranges",required:false,purpose:"Indicates supported range units."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Assemble the byte range with previously fetched parts; resume support.",commonCauses:["Range request for video, large file, or resumable download."],relatedStatuses:[200,416]}},207:{code:207,phrase:"Multi-Status",category:"Success",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.1",description:"WebDAV: provides status for multiple independent operations in a single response (multistatus XML).",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse the multistatus XML body for per-resource status codes.",commonCauses:["WebDAV PROPFIND, PROPPATCH, COPY, MOVE, DELETE on collections."],relatedStatuses:[208]}},208:{code:208,phrase:"Already Reported",category:"Success",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.1",description:"WebDAV: used inside a 207 Multi-Status response to avoid repeatedly enumerating internal members of multiple bindings to the same collection.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as already-enumerated; do not re-fetch.",commonCauses:["WebDAV bindings already reported in the same multistatus."],relatedStatuses:[207]}},226:{code:226,phrase:"IM Used",category:"Success",source:"IANA",rfc:"RFC3229",specUrl:"https://datatracker.ietf.org/doc/html/rfc3229#section-10.4.1",description:"The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:["GET"],relatedHeaders:[{name:"IM",required:false,purpose:"Instance manipulation applied."},{name:"Delta-Base",required:false,purpose:"Base entity tag for delta encoding."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Apply the delta to the cached representation.",commonCauses:["Delta-encoded HTTP response."],relatedStatuses:[200]}},300:{code:300,phrase:"Multiple Choices",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.1"),description:"The target resource has more than one representation, each with its own more specific identifier, and information about the alternatives is provided.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"Server-preferred alternative URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Pick a representation from the listed alternatives or follow Location if provided.",commonCauses:["Content negotiation with multiple acceptable variants."],relatedStatuses:[301,302,303]}},301:{code:301,phrase:"Moved Permanently",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.2"),description:"The target resource has been assigned a new permanent URI and any future references to this resource ought to use the enclosed URI.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location; update bookmarks/links to the new URI.",commonCauses:["Permanent URL change, domain migration, HTTPS upgrade."],relatedStatuses:[308,302]}},302:{code:302,phrase:"Found",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.3"),description:"The target resource resides temporarily under a different URI. The client should continue to use the original request URI for future requests.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:["Moved Temporarily"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location for this request only; do not cache the redirect.",commonCauses:["Temporary redirect, post-login redirect."],relatedStatuses:[303,307]}},303:{code:303,phrase:"See Other",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.4"),description:"The server is redirecting the user agent to a different resource, as indicated by Location, that is intended to provide an indirect response to the original request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Target URI to GET."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Issue a GET to Location regardless of the original method.",commonCauses:["Post/Redirect/Get pattern after form submission."],relatedStatuses:[302,307]}},304:{code:304,phrase:"Not Modified",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.5"),description:"Indicates that the conditional request would have resulted in a 200 OK response if it were not for the fact that the condition evaluated to false.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"ETag",required:false,purpose:"Validator matching the cached representation."},{name:"Cache-Control",required:false,purpose:"Freshness directives."},{name:"Vary",required:false,purpose:"Headers that affected selection."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Serve from the local cache; the cached representation is still fresh.",commonCauses:["Conditional GET with If-None-Match or If-Modified-Since matched."],relatedStatuses:[200,412]}},305:{code:305,phrase:"Use Proxy",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.6"),description:"Deprecated. The requested resource must be accessed through a specified proxy.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Ignore; modern clients must not honor 305 for security reasons.",commonCauses:["Legacy proxy configuration."],relatedStatuses:[]}},307:{code:307,phrase:"Temporary Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.8"),description:"The target resource resides temporarily under a different URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method and body.",commonCauses:["Temporary redirect where method preservation matters (e.g., POST)."],relatedStatuses:[302,308]}},308:{code:308,phrase:"Permanent Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.9"),description:"The target resource has been assigned a new permanent URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method; update stored references.",commonCauses:["Permanent move where method preservation matters."],relatedStatuses:[301,307]}},400:{code:400,phrase:"Bad Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.1"),description:"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed syntax, invalid framing).",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Fix the request payload or syntax; do not retry as-is.",commonCauses:["Malformed JSON","Missing required field","Invalid header syntax"],relatedStatuses:[422,415]}},401:{code:401,phrase:"Unauthorized",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.2"),description:"The request has not been applied because it lacks valid authentication credentials for the target resource.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"WWW-Authenticate",required:true,purpose:"Challenge describing the auth scheme."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Acquire valid credentials and retry with an Authorization header.",commonCauses:["Missing or expired token","Wrong credentials","Token revoked"],relatedStatuses:[403,407]}},402:{code:402,phrase:"Payment Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.3"),description:"Reserved for future use. Originally intended for digital payment systems.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface payment/billing requirement to the user; do not auto-retry.",commonCauses:["API quota exhausted on paid tier","Subscription expired"],relatedStatuses:[403,429]}},403:{code:403,phrase:"Forbidden",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.4"),description:"The server understood the request but refuses to authorize it. Re-authenticating will not help.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not retry; the principal lacks permission for this resource.",commonCauses:["Insufficient role/scope","IP blocked","CSRF check failed"],relatedStatuses:[401,451]}},404:{code:404,phrase:"Not Found",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.5"),description:"The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Verify the URL; do not retry unless the resource is expected to appear later.",commonCauses:["Typo in URL","Resource deleted","Privacy-preserving hide of 403"],relatedStatuses:[410,403]}},405:{code:405,phrase:"Method Not Allowed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.6"),description:"The method received in the request-line is known by the origin server but not supported by the target resource.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Allow",required:true,purpose:"Lists the methods supported by the target resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Inspect Allow header and reissue with a permitted method.",commonCauses:["Wrong HTTP verb for the endpoint."],relatedStatuses:[501]}},406:{code:406,phrase:"Not Acceptable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.7"),description:"The target resource does not have a current representation that would be acceptable to the user agent according to the proactive negotiation header fields.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Accept",required:false,purpose:"Originating preference header."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Relax Accept/Accept-Language constraints and retry.",commonCauses:["No representation matches the client's Accept headers."],relatedStatuses:[415]}},407:{code:407,phrase:"Proxy Authentication Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.8"),description:"Similar to 401 but indicates that the client needs to authenticate itself in order to use a proxy.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"Proxy-Authenticate",required:true,purpose:"Proxy auth challenge."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Supply Proxy-Authorization and retry.",commonCauses:["Corporate proxy requiring authentication."],relatedStatuses:[401]}},408:{code:408,phrase:"Request Timeout",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.9"),description:"The server did not receive a complete request message within the time that it was prepared to wait.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry the request with backoff; consider increasing client timeout.",commonCauses:["Slow client","Network congestion","Idle keep-alive connection closed"],relatedStatuses:[504]}},409:{code:409,phrase:"Conflict",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.10"),description:"The request could not be completed due to a conflict with the current state of the target resource.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-read the current resource state and resolve the conflict before resubmitting.",commonCauses:["Concurrent edit collision","Duplicate resource creation","Version mismatch"],relatedStatuses:[412,428]}},410:{code:410,phrase:"Gone",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.11"),description:"Access to the target resource is no longer available at the origin server and this condition is likely to be permanent.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove any cached references; do not retry.",commonCauses:["Permanently deleted resource."],relatedStatuses:[404]}},411:{code:411,phrase:"Length Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.12"),description:"The server refuses to accept the request without a defined Content-Length.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Content-Length",required:true,purpose:"Length of the request body in octets."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add Content-Length and retry.",commonCauses:["Chunked transfer rejected by server."],relatedStatuses:[]}},412:{code:412,phrase:"Precondition Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.13"),description:"One or more conditions given in the request header fields evaluated to false when tested on the server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"If-Match",required:false,purpose:"Originating precondition."},{name:"If-Unmodified-Since",required:false,purpose:"Originating precondition."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-fetch current ETag/Last-Modified and retry with the new validator.",commonCauses:["Stale If-Match","Optimistic concurrency control mismatch"],relatedStatuses:[409,428]}},413:{code:413,phrase:"Content Too Large",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.14"),description:"The server is refusing to process a request because the request content is larger than the server is willing or able to process.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates when the condition may be temporary."}],aliases:["Payload Too Large","Request Entity Too Large"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Reduce body size, chunk the upload, or use a different endpoint.",commonCauses:["Upload exceeds server limit."],relatedStatuses:[]}},414:{code:414,phrase:"URI Too Long",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.15"),description:"The server is refusing to service the request because the request-target is longer than the server is willing to interpret.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Request-URI Too Long"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Shorten the URL; move parameters into a POST body.",commonCauses:["Excessive query string","Loop generating long redirect URI"],relatedStatuses:[]}},415:{code:415,phrase:"Unsupported Media Type",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.16"),description:"The server is refusing to service the request because the content is in a format not supported by this method on the target resource.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Accept",required:false,purpose:"Indicates supported response types."},{name:"Accept-Encoding",required:false,purpose:"Indicates supported encodings."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Set Content-Type to a supported value and retry.",commonCauses:["Wrong Content-Type","Unsupported encoding"],relatedStatuses:[406]}},416:{code:416,phrase:"Range Not Satisfiable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.17"),description:"None of the ranges in the request's Range header field overlap the current extent of the selected resource, or the set of ranges requested has been rejected.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:false,purpose:"Total size of the representation."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-check the resource length and request a valid range.",commonCauses:["Range beyond resource length."],relatedStatuses:[206]}},417:{code:417,phrase:"Expectation Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.18"),description:"The expectation given in the request's Expect header field could not be met by at least one of the inbound servers.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove the Expect header and retry.",commonCauses:["Server does not support Expect: 100-continue."],relatedStatuses:[100]}},418:{code:418,phrase:"I'm a teapot",category:"Client Error",source:"IANA",rfc:"RFC2324",specUrl:"https://datatracker.ietf.org/doc/html/rfc2324#section-2.3.2",description:"Any attempt to brew coffee with a teapot should result in the error code 418 I'm a teapot. A joke status from the Hyper Text Coffee Pot Control Protocol.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a humorous easter egg or anti-bot signal; do not retry.",commonCauses:["Server is signaling a refusal humorously."],relatedStatuses:[]}},421:{code:421,phrase:"Misdirected Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.20"),description:"The request was directed at a server that is not able to produce a response. This can be sent by a server that is not configured to produce responses for the combination of scheme and authority included in the request URI.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Re-resolve the host and open a new connection before retrying.",commonCauses:["HTTP/2 connection coalescing to wrong origin."],relatedStatuses:[]}},422:{code:422,phrase:"Unprocessable Content",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.21"),description:"The server understands the content type of the request content and the syntax of the request content is correct, but it was unable to process the contained instructions.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Unprocessable Entity"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Validate semantic constraints (e.g., schema validation errors) and resubmit.",commonCauses:["Schema validation failure","Business rule violation"],relatedStatuses:[400]}},423:{code:423,phrase:"Locked",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.3",description:"WebDAV: the source or destination resource is locked.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Acquire the lock or wait for it to release, then retry.",commonCauses:["WebDAV resource locked by another client."],relatedStatuses:[424]}},424:{code:424,phrase:"Failed Dependency",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.4",description:"WebDAV: the method could not be performed on the resource because the requested action depended on another action which failed.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Resolve the failing prerequisite action first.",commonCauses:["Prior WebDAV operation in the same request failed."],relatedStatuses:[423]}},425:{code:425,phrase:"Too Early",category:"Client Error",source:"IANA",rfc:"RFC8470",specUrl:"https://datatracker.ietf.org/doc/html/rfc8470#section-5.2",description:"Indicates that the server is unwilling to risk processing a request that might be replayed (e.g., TLS 1.3 early data).",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Early-Data",required:false,purpose:"Indicates the request was sent in TLS early data."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Retry the request after the TLS handshake completes.",commonCauses:["Request sent in TLS 1.3 0-RTT early data."],relatedStatuses:[]}},426:{code:426,phrase:"Upgrade Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.22"),description:"The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Protocols the server is willing to switch to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Upgrade to the protocol indicated in Upgrade and retry.",commonCauses:["Server requires HTTPS or HTTP/2."],relatedStatuses:[101]}},428:{code:428,phrase:"Precondition Required",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-3",description:"The origin server requires the request to be conditional. Intended to prevent the lost update problem.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add If-Match or If-Unmodified-Since and retry.",commonCauses:["Server enforces optimistic concurrency control."],relatedStatuses:[412]}},429:{code:429,phrase:"Too Many Requests",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-4",description:'The user has sent too many requests in a given amount of time ("rate limiting").',expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long to wait before retrying."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Wait the duration in Retry-After (or back off exponentially) and retry.",commonCauses:["Rate limit exceeded."],relatedStatuses:[503,509]}},431:{code:431,phrase:"Request Header Fields Too Large",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-5",description:"The server is unwilling to process the request because its header fields are too large.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim cookies/headers and retry.",commonCauses:["Oversized cookie jar","Long Authorization token"],relatedStatuses:[]}},451:{code:451,phrase:"Unavailable For Legal Reasons",category:"Client Error",source:"IANA",rfc:"RFC7725",specUrl:"https://datatracker.ietf.org/doc/html/rfc7725#section-3",description:"The server is denying access to the resource as a consequence of a legal demand.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface the legal blockage to the user; do not retry.",commonCauses:["Court order","Government censorship","DMCA takedown"],relatedStatuses:[403]}},500:{code:500,phrase:"Internal Server Error",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.1"),description:"The server encountered an unexpected condition that prevented it from fulfilling the request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry idempotent requests with backoff; report to the operator if persistent.",commonCauses:["Unhandled exception","Database failure","Misconfiguration"],relatedStatuses:[502,503]}},501:{code:501,phrase:"Not Implemented",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.2"),description:"The server does not support the functionality required to fulfill the request.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Use a different method or endpoint; this feature is not supported.",commonCauses:["Server lacks support for the requested method."],relatedStatuses:[405]}},502:{code:502,phrase:"Bad Gateway",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.3"),description:"The server, while acting as a gateway or proxy, received an invalid response from an inbound server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; the upstream is likely transiently unhealthy.",commonCauses:["Upstream returned malformed response","Origin briefly down"],relatedStatuses:[503,504]}},503:{code:503,phrase:"Service Unavailable",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.4"),description:"The server is currently unable to handle the request due to a temporary overload or scheduled maintenance.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long the service is expected to be unavailable."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Respect Retry-After if present; otherwise back off exponentially.",commonCauses:["Overload","Scheduled maintenance","Circuit breaker open"],relatedStatuses:[429,502,504]}},504:{code:504,phrase:"Gateway Timeout",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.5"),description:"The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; consider increasing the upstream timeout.",commonCauses:["Slow upstream","Network partition"],relatedStatuses:[408,502]}},505:{code:505,phrase:"HTTP Version Not Supported",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.6"),description:"The server does not support, or refuses to support, the major version of HTTP that was used in the request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Downgrade or upgrade to a supported HTTP version and retry.",commonCauses:["Client speaks HTTP version the server has disabled."],relatedStatuses:[426]}},506:{code:506,phrase:"Variant Also Negotiates",category:"Server Error",source:"IANA",rfc:"RFC2295",specUrl:"https://datatracker.ietf.org/doc/html/rfc2295#section-8.1",description:"Transparent content negotiation for the request results in a circular reference.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Server-side configuration bug; report to the operator.",commonCauses:["Misconfigured content negotiation chain."],relatedStatuses:[]}},507:{code:507,phrase:"Insufficient Storage",category:"Server Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.5",description:"WebDAV: the method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry later or reduce payload size; storage is full upstream.",commonCauses:["Disk full on server."],relatedStatuses:[413]}},508:{code:508,phrase:"Loop Detected",category:"Server Error",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.2",description:"WebDAV: the server terminated an operation because it encountered an infinite loop while processing a request with Depth: infinity.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Restructure the request to avoid the cycle.",commonCauses:["Cyclic WebDAV bindings."],relatedStatuses:[]}},510:{code:510,phrase:"Not Extended",category:"Server Error",source:"IANA",rfc:"RFC2774",specUrl:"https://datatracker.ietf.org/doc/html/rfc2774#section-7",description:"Further extensions to the request are required for the server to fulfill it.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add the required HTTP extension declarations and retry.",commonCauses:["Server requires HTTP extension framework."],relatedStatuses:[]}},511:{code:511,phrase:"Network Authentication Required",category:"Server Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-6",description:"The client needs to authenticate to gain network access. Intended for captive portals.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Complete the captive portal flow, then retry.",commonCauses:["Public Wi-Fi captive portal."],relatedStatuses:[401]}}};var f={WEB_SERVER_RETURNED_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMED_OUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURRED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,ORIGIN_DNS_ERROR:530},r="https://developers.cloudflare.com/support/troubleshooting/http-status-codes/5xx-errors/",s={520:{code:520,phrase:"Web Server Returned an Unknown Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-520-web-server-returns-an-unknown-error`,description:"The origin server returned an empty, unknown, or unexpected response to Cloudflare.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, the origin is misbehaving and needs operator attention.",commonCauses:["Origin crashed mid-response","Origin returned malformed HTTP"],relatedStatuses:[502]}},521:{code:521,phrase:"Web Server Is Down",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-521-web-server-is-down`,description:"The origin server refused the connection from Cloudflare. Cloudflare could not establish a TCP connection.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; verify origin is running and not blocking Cloudflare IPs.",commonCauses:["Origin down","Cloudflare IPs blocked at firewall"],relatedStatuses:[502,503]}},522:{code:522,phrase:"Connection Timed Out",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-522-connection-timed-out`,description:"Cloudflare could not negotiate a TCP handshake with the origin server before timing out.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; investigate origin network reachability.",commonCauses:["Origin overloaded","Network partition between CF and origin"],relatedStatuses:[504]}},523:{code:523,phrase:"Origin Is Unreachable",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-523-origin-is-unreachable`,description:"Cloudflare could not reach the origin server, commonly due to a routing/BGP issue or invalid DNS record.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, check origin DNS and routing.",commonCauses:["DNS record points to wrong IP","BGP routing problem"],relatedStatuses:[530]}},524:{code:524,phrase:"A Timeout Occurred",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-524-a-timeout-occurred`,description:"Cloudflare successfully connected and sent data to the origin, but the origin took too long to respond with an HTTP response.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; for long-running requests, consider an async pattern (e.g., 202 + polling).",commonCauses:["Long-running origin request exceeded the 100-second CF limit."],relatedStatuses:[504,408]}},525:{code:525,phrase:"SSL Handshake Failed",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-525-ssl-handshake-failed`,description:"Cloudflare could not negotiate an SSL/TLS handshake with the origin server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: align cipher suites and TLS versions between CF and origin.",commonCauses:["No common cipher suite","TLS version mismatch"],relatedStatuses:[526]}},526:{code:526,phrase:"Invalid SSL Certificate",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-526-invalid-ssl-certificate`,description:"Cloudflare could not validate the SSL certificate on the origin web server when SSL Full (strict) mode is active.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: install a valid origin certificate or relax SSL mode.",commonCauses:["Expired or self-signed origin cert","Hostname mismatch"],relatedStatuses:[525]}},527:{code:527,phrase:"Railgun Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-527-railgun-listener-to-origin`,description:"Indicates an error connecting between Cloudflare and the origin's Railgun (rwengine) server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; Railgun is largely deprecated in favor of Argo Smart Routing.",commonCauses:["Railgun listener unreachable."],relatedStatuses:[]}},530:{code:530,phrase:"Origin DNS Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:"https://developers.cloudflare.com/support/troubleshooting/cloudflare-errors/troubleshooting-cloudflare-1xxx-errors/",description:"A 530 response is typically returned alongside a Cloudflare 1xxx error displayed in the body, indicating an origin DNS or worker failure.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Inspect the body for the embedded 1xxx code; resolve DNS or Worker error.",commonCauses:["Origin DNS resolution failure","Worker script error"],relatedStatuses:[523]}}};var g={NO_RESPONSE:444,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,CLIENT_CLOSED_REQUEST:499},o={444:{code:444,phrase:"No Response",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#return",description:'Nginx-specific code instructing the server to close the connection without sending any response headers (used via "return 444;").',expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a deliberate drop; do not retry the same request.",commonCauses:["Anti-abuse rule","Malformed request blocked at the edge"],relatedStatuses:[]}},494:{code:494,phrase:"Request Header Too Large",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers",description:"Nginx-specific code returned when the request headers exceed large_client_header_buffers.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim headers/cookies and retry.",commonCauses:["Oversized cookie jar","Long Authorization header"],relatedStatuses:[431]}},495:{code:495,phrase:"SSL Certificate Error",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when client certificate verification fails.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Provide a valid client certificate and retry.",commonCauses:["Expired or untrusted client certificate."],relatedStatuses:[496]}},496:{code:496,phrase:"SSL Certificate Required",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when a client certificate was required but not provided.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Attach a client certificate to the TLS connection and retry.",commonCauses:["Mutual TLS endpoint reached without a client cert."],relatedStatuses:[495]}},497:{code:497,phrase:"HTTP Request Sent to HTTPS Port",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#errors",description:"Nginx-specific code returned when a plain HTTP request is sent to an HTTPS port.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Reissue the request over HTTPS.",commonCauses:["Client used http:// against an https-only port."],relatedStatuses:[426]}},499:{code:499,phrase:"Client Closed Request",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html",description:"Nginx-specific code logged when the client closes the connection while the server is still processing the request.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"No action; this code is observed in access logs, not received by the client.",commonCauses:["Client aborted the request","Network drop"],relatedStatuses:[408]}}};var i=Object.freeze({...a,...s,...o}),R=t=>i[t];var n=t=>t>=100&&t<200,E=t=>t>=200&&t<300,T=t=>t>=300&&t<400,v=t=>t>=400&&t<500,x=t=>t>=500&&t<600,q=t=>t>=400,c=new Set([408,421,425,426,429,500,502,503,504,507,511,520,521,522,523,524,527,530,497]),I=t=>c.has(t),l=new Set([204,205,304,444,499]),N=t=>n(t)||l.has(t),d=new Set([200,203,204,206,226,300,301,308,404,405,410,414,501]),U=t=>d.has(t)?"heuristic":false,u=new Set([401,407,496,511]),F=t=>u.has(t);
exports.CloudflareRegistry=s;exports.CloudflareStatus=f;exports.CompleteRegistry=i;exports.IanaRegistry=a;exports.IanaStatus=p;exports.NginxRegistry=o;exports.NginxStatus=g;exports.getMetadata=R;exports.hasEmptyBody=N;exports.isCacheable=U;exports.isClientError=v;exports.isError=q;exports.isInformational=n;exports.isRedirection=T;exports.isRetryable=I;exports.isServerError=x;exports.isSuccess=E;exports.requiresAuth=F;
'use strict';var p={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,IM_USED:226,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,CONTENT_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_CONTENT:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511},e=t=>`https://datatracker.ietf.org/doc/html/rfc9110#section-${t}`,a={100:{code:100,phrase:"Continue",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.1"),description:"The initial part of a request has been received and the client should continue to send the remainder of the request, or ignore the response if the request is already complete.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Expect",required:false,purpose:"Originating request header that triggers a 100 response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Continue sending the request body; treat as a successful handshake.",commonCauses:["Client sent Expect: 100-continue before a large body."],relatedStatuses:[417]}},101:{code:101,phrase:"Switching Protocols",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.2"),description:"The server understands and is willing to comply with the client request, via the Upgrade header field, for a change in the application protocol being used on this connection.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Lists the protocol(s) being switched to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Switch to the protocol named in the Upgrade header (e.g., WebSocket).",commonCauses:["Client requested protocol upgrade (WebSocket, HTTP/2 cleartext)."],relatedStatuses:[426]}},102:{code:102,phrase:"Processing",category:"Informational",source:"IANA",rfc:"RFC2518",specUrl:"https://datatracker.ietf.org/doc/html/rfc2518#section-10.1",description:"WebDAV interim response indicating that the server has accepted the complete request but has not yet completed it. Deprecated by some clients.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Keep the connection open and wait for the final response.",commonCauses:["Long-running WebDAV operation."],relatedStatuses:[]}},103:{code:103,phrase:"Early Hints",category:"Informational",source:"IANA",rfc:"RFC8297",specUrl:"https://datatracker.ietf.org/doc/html/rfc8297#section-2",description:"Used to return some response headers before the final HTTP message, typically to allow the client to preload resources via Link headers.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Link",required:false,purpose:"Preload/preconnect hints sent before the final response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Begin preloading hinted resources while awaiting the final response.",commonCauses:["Server-driven preload hints to reduce page load time."],relatedStatuses:[]}},200:{code:200,phrase:"OK",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.1"),description:"The request has succeeded. The payload sent depends on the request method.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse and use the response body.",commonCauses:["Standard successful request."],relatedStatuses:[201,204,206]}},201:{code:201,phrase:"Created",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.2"),description:"The request has been fulfilled and has resulted in one or more new resources being created. The primary resource URI is given by Location.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"URI of the newly created resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Read the Location header for the new resource URI.",commonCauses:["Successful POST or PUT that created a resource."],relatedStatuses:[200,202]}},202:{code:202,phrase:"Accepted",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.3"),description:"The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Poll the indicated status endpoint or wait for an async callback.",commonCauses:["Async job submission, batch processing."],relatedStatuses:[201,303]}},203:{code:203,phrase:"Non-Authoritative Information",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.4"),description:"The request was successful but the enclosed payload has been modified by a transforming proxy from that of the origin server.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as 200 OK but be aware the body may have been transformed by an intermediary.",commonCauses:["Transforming proxy modified the response."],relatedStatuses:[200]}},204:{code:204,phrase:"No Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.5"),description:"The server has successfully fulfilled the request and there is no additional content to send in the response payload body.",expectsEmptyBody:true,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not attempt to parse a body; treat as success.",commonCauses:["Successful DELETE or PUT/PATCH that returns no body."],relatedStatuses:[200,205]}},205:{code:205,phrase:"Reset Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.6"),description:"The server has fulfilled the request and desires that the user agent reset the document view which caused the request to be sent.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Clear the originating form or input view.",commonCauses:["Form submission that should reset on success."],relatedStatuses:[204]}},206:{code:206,phrase:"Partial Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.7"),description:"The server is successfully fulfilling a range request for the target resource by transferring one or more parts of the selected representation.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:true,purpose:"Indicates which byte range is in the body."},{name:"Accept-Ranges",required:false,purpose:"Indicates supported range units."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Assemble the byte range with previously fetched parts; resume support.",commonCauses:["Range request for video, large file, or resumable download."],relatedStatuses:[200,416]}},207:{code:207,phrase:"Multi-Status",category:"Success",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.1",description:"WebDAV: provides status for multiple independent operations in a single response (multistatus XML).",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse the multistatus XML body for per-resource status codes.",commonCauses:["WebDAV PROPFIND, PROPPATCH, COPY, MOVE, DELETE on collections."],relatedStatuses:[208]}},208:{code:208,phrase:"Already Reported",category:"Success",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.1",description:"WebDAV: used inside a 207 Multi-Status response to avoid repeatedly enumerating internal members of multiple bindings to the same collection.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as already-enumerated; do not re-fetch.",commonCauses:["WebDAV bindings already reported in the same multistatus."],relatedStatuses:[207]}},226:{code:226,phrase:"IM Used",category:"Success",source:"IANA",rfc:"RFC3229",specUrl:"https://datatracker.ietf.org/doc/html/rfc3229#section-10.4.1",description:"The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:["GET"],relatedHeaders:[{name:"IM",required:false,purpose:"Instance manipulation applied."},{name:"Delta-Base",required:false,purpose:"Base entity tag for delta encoding."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Apply the delta to the cached representation.",commonCauses:["Delta-encoded HTTP response."],relatedStatuses:[200]}},300:{code:300,phrase:"Multiple Choices",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.1"),description:"The target resource has more than one representation, each with its own more specific identifier, and information about the alternatives is provided.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"Server-preferred alternative URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Pick a representation from the listed alternatives or follow Location if provided.",commonCauses:["Content negotiation with multiple acceptable variants."],relatedStatuses:[301,302,303]}},301:{code:301,phrase:"Moved Permanently",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.2"),description:"The target resource has been assigned a new permanent URI and any future references to this resource ought to use the enclosed URI.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location; update bookmarks/links to the new URI.",commonCauses:["Permanent URL change, domain migration, HTTPS upgrade."],relatedStatuses:[308,302]}},302:{code:302,phrase:"Found",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.3"),description:"The target resource resides temporarily under a different URI. The client should continue to use the original request URI for future requests.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:["Moved Temporarily"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location for this request only; do not cache the redirect.",commonCauses:["Temporary redirect, post-login redirect."],relatedStatuses:[303,307]}},303:{code:303,phrase:"See Other",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.4"),description:"The server is redirecting the user agent to a different resource, as indicated by Location, that is intended to provide an indirect response to the original request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Target URI to GET."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Issue a GET to Location regardless of the original method.",commonCauses:["Post/Redirect/Get pattern after form submission."],relatedStatuses:[302,307]}},304:{code:304,phrase:"Not Modified",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.5"),description:"Indicates that the conditional request would have resulted in a 200 OK response if it were not for the fact that the condition evaluated to false.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"ETag",required:false,purpose:"Validator matching the cached representation."},{name:"Cache-Control",required:false,purpose:"Freshness directives."},{name:"Vary",required:false,purpose:"Headers that affected selection."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Serve from the local cache; the cached representation is still fresh.",commonCauses:["Conditional GET with If-None-Match or If-Modified-Since matched."],relatedStatuses:[200,412]}},305:{code:305,phrase:"Use Proxy",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.6"),description:"Deprecated. The requested resource must be accessed through a specified proxy.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Ignore; modern clients must not honor 305 for security reasons.",commonCauses:["Legacy proxy configuration."],relatedStatuses:[]}},307:{code:307,phrase:"Temporary Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.8"),description:"The target resource resides temporarily under a different URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method and body.",commonCauses:["Temporary redirect where method preservation matters (e.g., POST)."],relatedStatuses:[302,308]}},308:{code:308,phrase:"Permanent Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.9"),description:"The target resource has been assigned a new permanent URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method; update stored references.",commonCauses:["Permanent move where method preservation matters."],relatedStatuses:[301,307]}},400:{code:400,phrase:"Bad Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.1"),description:"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed syntax, invalid framing).",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Fix the request payload or syntax; do not retry as-is.",commonCauses:["Malformed JSON","Missing required field","Invalid header syntax"],relatedStatuses:[422,415]}},401:{code:401,phrase:"Unauthorized",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.2"),description:"The request has not been applied because it lacks valid authentication credentials for the target resource.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"WWW-Authenticate",required:true,purpose:"Challenge describing the auth scheme."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Acquire valid credentials and retry with an Authorization header.",commonCauses:["Missing or expired token","Wrong credentials","Token revoked"],relatedStatuses:[403,407]}},402:{code:402,phrase:"Payment Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.3"),description:"Reserved for future use. Originally intended for digital payment systems.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface payment/billing requirement to the user; do not auto-retry.",commonCauses:["API quota exhausted on paid tier","Subscription expired"],relatedStatuses:[403,429]}},403:{code:403,phrase:"Forbidden",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.4"),description:"The server understood the request but refuses to authorize it. Re-authenticating will not help.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not retry; the principal lacks permission for this resource.",commonCauses:["Insufficient role/scope","IP blocked","CSRF check failed"],relatedStatuses:[401,451]}},404:{code:404,phrase:"Not Found",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.5"),description:"The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Verify the URL; do not retry unless the resource is expected to appear later.",commonCauses:["Typo in URL","Resource deleted","Privacy-preserving hide of 403"],relatedStatuses:[410,403]}},405:{code:405,phrase:"Method Not Allowed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.6"),description:"The method received in the request-line is known by the origin server but not supported by the target resource.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Allow",required:true,purpose:"Lists the methods supported by the target resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Inspect Allow header and reissue with a permitted method.",commonCauses:["Wrong HTTP verb for the endpoint."],relatedStatuses:[501]}},406:{code:406,phrase:"Not Acceptable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.7"),description:"The target resource does not have a current representation that would be acceptable to the user agent according to the proactive negotiation header fields.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Accept",required:false,purpose:"Originating preference header."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Relax Accept/Accept-Language constraints and retry.",commonCauses:["No representation matches the client's Accept headers."],relatedStatuses:[415]}},407:{code:407,phrase:"Proxy Authentication Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.8"),description:"Similar to 401 but indicates that the client needs to authenticate itself in order to use a proxy.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"Proxy-Authenticate",required:true,purpose:"Proxy auth challenge."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Supply Proxy-Authorization and retry.",commonCauses:["Corporate proxy requiring authentication."],relatedStatuses:[401]}},408:{code:408,phrase:"Request Timeout",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.9"),description:"The server did not receive a complete request message within the time that it was prepared to wait.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry the request with backoff; consider increasing client timeout.",commonCauses:["Slow client","Network congestion","Idle keep-alive connection closed"],relatedStatuses:[504]}},409:{code:409,phrase:"Conflict",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.10"),description:"The request could not be completed due to a conflict with the current state of the target resource.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-read the current resource state and resolve the conflict before resubmitting.",commonCauses:["Concurrent edit collision","Duplicate resource creation","Version mismatch"],relatedStatuses:[412,428]}},410:{code:410,phrase:"Gone",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.11"),description:"Access to the target resource is no longer available at the origin server and this condition is likely to be permanent.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove any cached references; do not retry.",commonCauses:["Permanently deleted resource."],relatedStatuses:[404]}},411:{code:411,phrase:"Length Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.12"),description:"The server refuses to accept the request without a defined Content-Length.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Content-Length",required:true,purpose:"Length of the request body in octets."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add Content-Length and retry.",commonCauses:["Chunked transfer rejected by server."],relatedStatuses:[]}},412:{code:412,phrase:"Precondition Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.13"),description:"One or more conditions given in the request header fields evaluated to false when tested on the server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"If-Match",required:false,purpose:"Originating precondition."},{name:"If-Unmodified-Since",required:false,purpose:"Originating precondition."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-fetch current ETag/Last-Modified and retry with the new validator.",commonCauses:["Stale If-Match","Optimistic concurrency control mismatch"],relatedStatuses:[409,428]}},413:{code:413,phrase:"Content Too Large",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.14"),description:"The server is refusing to process a request because the request content is larger than the server is willing or able to process.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates when the condition may be temporary."}],aliases:["Payload Too Large","Request Entity Too Large"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Reduce body size, chunk the upload, or use a different endpoint.",commonCauses:["Upload exceeds server limit."],relatedStatuses:[]}},414:{code:414,phrase:"URI Too Long",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.15"),description:"The server is refusing to service the request because the request-target is longer than the server is willing to interpret.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Request-URI Too Long"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Shorten the URL; move parameters into a POST body.",commonCauses:["Excessive query string","Loop generating long redirect URI"],relatedStatuses:[]}},415:{code:415,phrase:"Unsupported Media Type",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.16"),description:"The server is refusing to service the request because the content is in a format not supported by this method on the target resource.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Accept",required:false,purpose:"Indicates supported response types."},{name:"Accept-Encoding",required:false,purpose:"Indicates supported encodings."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Set Content-Type to a supported value and retry.",commonCauses:["Wrong Content-Type","Unsupported encoding"],relatedStatuses:[406]}},416:{code:416,phrase:"Range Not Satisfiable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.17"),description:"None of the ranges in the request's Range header field overlap the current extent of the selected resource, or the set of ranges requested has been rejected.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:false,purpose:"Total size of the representation."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-check the resource length and request a valid range.",commonCauses:["Range beyond resource length."],relatedStatuses:[206]}},417:{code:417,phrase:"Expectation Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.18"),description:"The expectation given in the request's Expect header field could not be met by at least one of the inbound servers.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove the Expect header and retry.",commonCauses:["Server does not support Expect: 100-continue."],relatedStatuses:[100]}},418:{code:418,phrase:"I'm a teapot",category:"Client Error",source:"IANA",rfc:"RFC2324",specUrl:"https://datatracker.ietf.org/doc/html/rfc2324#section-2.3.2",description:"Any attempt to brew coffee with a teapot should result in the error code 418 I'm a teapot. A joke status from the Hyper Text Coffee Pot Control Protocol.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a humorous easter egg or anti-bot signal; do not retry.",commonCauses:["Server is signaling a refusal humorously."],relatedStatuses:[]}},421:{code:421,phrase:"Misdirected Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.20"),description:"The request was directed at a server that is not able to produce a response. This can be sent by a server that is not configured to produce responses for the combination of scheme and authority included in the request URI.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Re-resolve the host and open a new connection before retrying.",commonCauses:["HTTP/2 connection coalescing to wrong origin."],relatedStatuses:[]}},422:{code:422,phrase:"Unprocessable Content",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.21"),description:"The server understands the content type of the request content and the syntax of the request content is correct, but it was unable to process the contained instructions.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Unprocessable Entity"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Validate semantic constraints (e.g., schema validation errors) and resubmit.",commonCauses:["Schema validation failure","Business rule violation"],relatedStatuses:[400]}},423:{code:423,phrase:"Locked",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.3",description:"WebDAV: the source or destination resource is locked.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Acquire the lock or wait for it to release, then retry.",commonCauses:["WebDAV resource locked by another client."],relatedStatuses:[424]}},424:{code:424,phrase:"Failed Dependency",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.4",description:"WebDAV: the method could not be performed on the resource because the requested action depended on another action which failed.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Resolve the failing prerequisite action first.",commonCauses:["Prior WebDAV operation in the same request failed."],relatedStatuses:[423]}},425:{code:425,phrase:"Too Early",category:"Client Error",source:"IANA",rfc:"RFC8470",specUrl:"https://datatracker.ietf.org/doc/html/rfc8470#section-5.2",description:"Indicates that the server is unwilling to risk processing a request that might be replayed (e.g., TLS 1.3 early data).",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Early-Data",required:false,purpose:"Indicates the request was sent in TLS early data."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Retry the request after the TLS handshake completes.",commonCauses:["Request sent in TLS 1.3 0-RTT early data."],relatedStatuses:[]}},426:{code:426,phrase:"Upgrade Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.22"),description:"The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Protocols the server is willing to switch to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Upgrade to the protocol indicated in Upgrade and retry.",commonCauses:["Server requires HTTPS or HTTP/2."],relatedStatuses:[101]}},428:{code:428,phrase:"Precondition Required",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-3",description:"The origin server requires the request to be conditional. Intended to prevent the lost update problem.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add If-Match or If-Unmodified-Since and retry.",commonCauses:["Server enforces optimistic concurrency control."],relatedStatuses:[412]}},429:{code:429,phrase:"Too Many Requests",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-4",description:'The user has sent too many requests in a given amount of time ("rate limiting").',expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long to wait before retrying."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Wait the duration in Retry-After (or back off exponentially) and retry.",commonCauses:["Rate limit exceeded."],relatedStatuses:[503,509]}},431:{code:431,phrase:"Request Header Fields Too Large",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-5",description:"The server is unwilling to process the request because its header fields are too large.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim cookies/headers and retry.",commonCauses:["Oversized cookie jar","Long Authorization token"],relatedStatuses:[]}},451:{code:451,phrase:"Unavailable For Legal Reasons",category:"Client Error",source:"IANA",rfc:"RFC7725",specUrl:"https://datatracker.ietf.org/doc/html/rfc7725#section-3",description:"The server is denying access to the resource as a consequence of a legal demand.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface the legal blockage to the user; do not retry.",commonCauses:["Court order","Government censorship","DMCA takedown"],relatedStatuses:[403]}},500:{code:500,phrase:"Internal Server Error",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.1"),description:"The server encountered an unexpected condition that prevented it from fulfilling the request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry idempotent requests with backoff; report to the operator if persistent.",commonCauses:["Unhandled exception","Database failure","Misconfiguration"],relatedStatuses:[502,503]}},501:{code:501,phrase:"Not Implemented",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.2"),description:"The server does not support the functionality required to fulfill the request.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Use a different method or endpoint; this feature is not supported.",commonCauses:["Server lacks support for the requested method."],relatedStatuses:[405]}},502:{code:502,phrase:"Bad Gateway",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.3"),description:"The server, while acting as a gateway or proxy, received an invalid response from an inbound server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; the upstream is likely transiently unhealthy.",commonCauses:["Upstream returned malformed response","Origin briefly down"],relatedStatuses:[503,504]}},503:{code:503,phrase:"Service Unavailable",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.4"),description:"The server is currently unable to handle the request due to a temporary overload or scheduled maintenance.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long the service is expected to be unavailable."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Respect Retry-After if present; otherwise back off exponentially.",commonCauses:["Overload","Scheduled maintenance","Circuit breaker open"],relatedStatuses:[429,502,504]}},504:{code:504,phrase:"Gateway Timeout",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.5"),description:"The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; consider increasing the upstream timeout.",commonCauses:["Slow upstream","Network partition"],relatedStatuses:[408,502]}},505:{code:505,phrase:"HTTP Version Not Supported",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.6"),description:"The server does not support, or refuses to support, the major version of HTTP that was used in the request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Downgrade or upgrade to a supported HTTP version and retry.",commonCauses:["Client speaks HTTP version the server has disabled."],relatedStatuses:[426]}},506:{code:506,phrase:"Variant Also Negotiates",category:"Server Error",source:"IANA",rfc:"RFC2295",specUrl:"https://datatracker.ietf.org/doc/html/rfc2295#section-8.1",description:"Transparent content negotiation for the request results in a circular reference.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Server-side configuration bug; report to the operator.",commonCauses:["Misconfigured content negotiation chain."],relatedStatuses:[]}},507:{code:507,phrase:"Insufficient Storage",category:"Server Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.5",description:"WebDAV: the method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry later or reduce payload size; storage is full upstream.",commonCauses:["Disk full on server."],relatedStatuses:[413]}},508:{code:508,phrase:"Loop Detected",category:"Server Error",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.2",description:"WebDAV: the server terminated an operation because it encountered an infinite loop while processing a request with Depth: infinity.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Restructure the request to avoid the cycle.",commonCauses:["Cyclic WebDAV bindings."],relatedStatuses:[]}},510:{code:510,phrase:"Not Extended",category:"Server Error",source:"IANA",rfc:"RFC2774",specUrl:"https://datatracker.ietf.org/doc/html/rfc2774#section-7",description:"Further extensions to the request are required for the server to fulfill it.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add the required HTTP extension declarations and retry.",commonCauses:["Server requires HTTP extension framework."],relatedStatuses:[]}},511:{code:511,phrase:"Network Authentication Required",category:"Server Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-6",description:"The client needs to authenticate to gain network access. Intended for captive portals.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Complete the captive portal flow, then retry.",commonCauses:["Public Wi-Fi captive portal."],relatedStatuses:[401]}}};var f={WEB_SERVER_RETURNED_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMED_OUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURRED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,ORIGIN_DNS_ERROR:530},r="https://developers.cloudflare.com/support/troubleshooting/http-status-codes/5xx-errors/",s={520:{code:520,phrase:"Web Server Returned an Unknown Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-520-web-server-returns-an-unknown-error`,description:"The origin server returned an empty, unknown, or unexpected response to Cloudflare.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, the origin is misbehaving and needs operator attention.",commonCauses:["Origin crashed mid-response","Origin returned malformed HTTP"],relatedStatuses:[502]}},521:{code:521,phrase:"Web Server Is Down",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-521-web-server-is-down`,description:"The origin server refused the connection from Cloudflare. Cloudflare could not establish a TCP connection.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; verify origin is running and not blocking Cloudflare IPs.",commonCauses:["Origin down","Cloudflare IPs blocked at firewall"],relatedStatuses:[502,503]}},522:{code:522,phrase:"Connection Timed Out",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-522-connection-timed-out`,description:"Cloudflare could not negotiate a TCP handshake with the origin server before timing out.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; investigate origin network reachability.",commonCauses:["Origin overloaded","Network partition between CF and origin"],relatedStatuses:[504]}},523:{code:523,phrase:"Origin Is Unreachable",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-523-origin-is-unreachable`,description:"Cloudflare could not reach the origin server, commonly due to a routing/BGP issue or invalid DNS record.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, check origin DNS and routing.",commonCauses:["DNS record points to wrong IP","BGP routing problem"],relatedStatuses:[530]}},524:{code:524,phrase:"A Timeout Occurred",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-524-a-timeout-occurred`,description:"Cloudflare successfully connected and sent data to the origin, but the origin took too long to respond with an HTTP response.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; for long-running requests, consider an async pattern (e.g., 202 + polling).",commonCauses:["Long-running origin request exceeded the 100-second CF limit."],relatedStatuses:[504,408]}},525:{code:525,phrase:"SSL Handshake Failed",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-525-ssl-handshake-failed`,description:"Cloudflare could not negotiate an SSL/TLS handshake with the origin server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: align cipher suites and TLS versions between CF and origin.",commonCauses:["No common cipher suite","TLS version mismatch"],relatedStatuses:[526]}},526:{code:526,phrase:"Invalid SSL Certificate",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-526-invalid-ssl-certificate`,description:"Cloudflare could not validate the SSL certificate on the origin web server when SSL Full (strict) mode is active.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: install a valid origin certificate or relax SSL mode.",commonCauses:["Expired or self-signed origin cert","Hostname mismatch"],relatedStatuses:[525]}},527:{code:527,phrase:"Railgun Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-527-railgun-listener-to-origin`,description:"Indicates an error connecting between Cloudflare and the origin's Railgun (rwengine) server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; Railgun is largely deprecated in favor of Argo Smart Routing.",commonCauses:["Railgun listener unreachable."],relatedStatuses:[]}},530:{code:530,phrase:"Origin DNS Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:"https://developers.cloudflare.com/support/troubleshooting/cloudflare-errors/troubleshooting-cloudflare-1xxx-errors/",description:"A 530 response is typically returned alongside a Cloudflare 1xxx error displayed in the body, indicating an origin DNS or worker failure.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Inspect the body for the embedded 1xxx code; resolve DNS or Worker error.",commonCauses:["Origin DNS resolution failure","Worker script error"],relatedStatuses:[523]}}};var g={NO_RESPONSE:444,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,CLIENT_CLOSED_REQUEST:499},o={444:{code:444,phrase:"No Response",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#return",description:'Nginx-specific code instructing the server to close the connection without sending any response headers (used via "return 444;").',expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a deliberate drop; do not retry the same request.",commonCauses:["Anti-abuse rule","Malformed request blocked at the edge"],relatedStatuses:[]}},494:{code:494,phrase:"Request Header Too Large",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers",description:"Nginx-specific code returned when the request headers exceed large_client_header_buffers.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim headers/cookies and retry.",commonCauses:["Oversized cookie jar","Long Authorization header"],relatedStatuses:[431]}},495:{code:495,phrase:"SSL Certificate Error",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when client certificate verification fails.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Provide a valid client certificate and retry.",commonCauses:["Expired or untrusted client certificate."],relatedStatuses:[496]}},496:{code:496,phrase:"SSL Certificate Required",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when a client certificate was required but not provided.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Attach a client certificate to the TLS connection and retry.",commonCauses:["Mutual TLS endpoint reached without a client cert."],relatedStatuses:[495]}},497:{code:497,phrase:"HTTP Request Sent to HTTPS Port",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#errors",description:"Nginx-specific code returned when a plain HTTP request is sent to an HTTPS port.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Reissue the request over HTTPS.",commonCauses:["Client used http:// against an https-only port."],relatedStatuses:[426]}},499:{code:499,phrase:"Client Closed Request",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html",description:"Nginx-specific code logged when the client closes the connection while the server is still processing the request.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"No action; this code is observed in access logs, not received by the client.",commonCauses:["Client aborted the request","Network drop"],relatedStatuses:[408]}}};var n=Object.freeze({...a,...s,...o}),S=t=>n[t];var c=t=>t>=100&&t<200,C=t=>t>=200&&t<300,T=t=>t>=300&&t<400,v=t=>t>=400&&t<500,x=t=>t>=500&&t<600,q=t=>t>=400,l=new Set([408,421,425,426,429,500,502,503,504,507,511,520,521,522,523,524,527,530,497]),I=t=>l.has(t),d=new Set([204,205,304,444,499]),N=t=>c(t)||d.has(t),i=new Set([200,203,204,206,226,300,301,308,404,405,410,414,501]),U=t=>i.has(t)?"heuristic":"uncacheable",F=t=>i.has(t),u=new Set([401,407,496,511]),w=t=>u.has(t);
exports.CloudflareRegistry=s;exports.CloudflareStatus=f;exports.CompleteRegistry=n;exports.IanaRegistry=a;exports.IanaStatus=p;exports.NginxRegistry=o;exports.NginxStatus=g;exports.cacheability=U;exports.getMetadata=S;exports.hasEmptyBody=N;exports.isCacheable=F;exports.isClientError=v;exports.isError=q;exports.isInformational=c;exports.isRedirection=T;exports.isRetryable=I;exports.isServerError=x;exports.isSuccess=C;exports.requiresAuth=w;

@@ -1,7 +0,7 @@

import { d as HttpStatusRegistryMap, c as HttpStatusMetadata } from './types-D9bAZ7ge.cjs';
export { H as HttpMethod, a as HttpStatusCategory, b as HttpStatusGuidance, e as HttpStatusSource, R as RelatedHeader, f as RetryStrategy } from './types-D9bAZ7ge.cjs';
import { d as HttpStatusRegistryMap, c as HttpStatusMetadata } from './types-4vBUR0dr.cjs';
export { C as Cacheability, H as HttpMethod, a as HttpStatusCategory, b as HttpStatusGuidance, e as HttpStatusSource, R as RelatedHeader, f as RetryStrategy } from './types-4vBUR0dr.cjs';
export { IanaRegistry, IanaStatus, IanaStatusCode, IanaStatusName } from './iana/index.cjs';
export { CloudflareRegistry, CloudflareStatus, CloudflareStatusCode, CloudflareStatusName } from './cloudflare/index.cjs';
export { NginxRegistry, NginxStatus, NginxStatusCode, NginxStatusName } from './nginx/index.cjs';
export { hasEmptyBody, isCacheable, isClientError, isError, isInformational, isRedirection, isRetryable, isServerError, isSuccess, requiresAuth } from './utils/index.cjs';
export { cacheability, hasEmptyBody, isCacheable, isClientError, isError, isInformational, isRedirection, isRetryable, isServerError, isSuccess, requiresAuth } from './utils/index.cjs';

@@ -8,0 +8,0 @@ declare const CompleteRegistry: HttpStatusRegistryMap;

@@ -1,7 +0,7 @@

import { d as HttpStatusRegistryMap, c as HttpStatusMetadata } from './types-D9bAZ7ge.js';
export { H as HttpMethod, a as HttpStatusCategory, b as HttpStatusGuidance, e as HttpStatusSource, R as RelatedHeader, f as RetryStrategy } from './types-D9bAZ7ge.js';
import { d as HttpStatusRegistryMap, c as HttpStatusMetadata } from './types-4vBUR0dr.js';
export { C as Cacheability, H as HttpMethod, a as HttpStatusCategory, b as HttpStatusGuidance, e as HttpStatusSource, R as RelatedHeader, f as RetryStrategy } from './types-4vBUR0dr.js';
export { IanaRegistry, IanaStatus, IanaStatusCode, IanaStatusName } from './iana/index.js';
export { CloudflareRegistry, CloudflareStatus, CloudflareStatusCode, CloudflareStatusName } from './cloudflare/index.js';
export { NginxRegistry, NginxStatus, NginxStatusCode, NginxStatusName } from './nginx/index.js';
export { hasEmptyBody, isCacheable, isClientError, isError, isInformational, isRedirection, isRetryable, isServerError, isSuccess, requiresAuth } from './utils/index.js';
export { cacheability, hasEmptyBody, isCacheable, isClientError, isError, isInformational, isRedirection, isRetryable, isServerError, isSuccess, requiresAuth } from './utils/index.js';

@@ -8,0 +8,0 @@ declare const CompleteRegistry: HttpStatusRegistryMap;

@@ -1,2 +0,2 @@

var p={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,IM_USED:226,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,CONTENT_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_CONTENT:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511},e=t=>`https://datatracker.ietf.org/doc/html/rfc9110#section-${t}`,a={100:{code:100,phrase:"Continue",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.1"),description:"The initial part of a request has been received and the client should continue to send the remainder of the request, or ignore the response if the request is already complete.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Expect",required:false,purpose:"Originating request header that triggers a 100 response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Continue sending the request body; treat as a successful handshake.",commonCauses:["Client sent Expect: 100-continue before a large body."],relatedStatuses:[417]}},101:{code:101,phrase:"Switching Protocols",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.2"),description:"The server understands and is willing to comply with the client request, via the Upgrade header field, for a change in the application protocol being used on this connection.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Lists the protocol(s) being switched to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Switch to the protocol named in the Upgrade header (e.g., WebSocket).",commonCauses:["Client requested protocol upgrade (WebSocket, HTTP/2 cleartext)."],relatedStatuses:[426]}},102:{code:102,phrase:"Processing",category:"Informational",source:"IANA",rfc:"RFC2518",specUrl:"https://datatracker.ietf.org/doc/html/rfc2518#section-10.1",description:"WebDAV interim response indicating that the server has accepted the complete request but has not yet completed it. Deprecated by some clients.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Keep the connection open and wait for the final response.",commonCauses:["Long-running WebDAV operation."],relatedStatuses:[]}},103:{code:103,phrase:"Early Hints",category:"Informational",source:"IANA",rfc:"RFC8297",specUrl:"https://datatracker.ietf.org/doc/html/rfc8297#section-2",description:"Used to return some response headers before the final HTTP message, typically to allow the client to preload resources via Link headers.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Link",required:false,purpose:"Preload/preconnect hints sent before the final response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Begin preloading hinted resources while awaiting the final response.",commonCauses:["Server-driven preload hints to reduce page load time."],relatedStatuses:[]}},200:{code:200,phrase:"OK",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.1"),description:"The request has succeeded. The payload sent depends on the request method.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse and use the response body.",commonCauses:["Standard successful request."],relatedStatuses:[201,204,206]}},201:{code:201,phrase:"Created",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.2"),description:"The request has been fulfilled and has resulted in one or more new resources being created. The primary resource URI is given by Location.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"URI of the newly created resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Read the Location header for the new resource URI.",commonCauses:["Successful POST or PUT that created a resource."],relatedStatuses:[200,202]}},202:{code:202,phrase:"Accepted",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.3"),description:"The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Poll the indicated status endpoint or wait for an async callback.",commonCauses:["Async job submission, batch processing."],relatedStatuses:[201,303]}},203:{code:203,phrase:"Non-Authoritative Information",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.4"),description:"The request was successful but the enclosed payload has been modified by a transforming proxy from that of the origin server.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as 200 OK but be aware the body may have been transformed by an intermediary.",commonCauses:["Transforming proxy modified the response."],relatedStatuses:[200]}},204:{code:204,phrase:"No Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.5"),description:"The server has successfully fulfilled the request and there is no additional content to send in the response payload body.",expectsEmptyBody:true,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not attempt to parse a body; treat as success.",commonCauses:["Successful DELETE or PUT/PATCH that returns no body."],relatedStatuses:[200,205]}},205:{code:205,phrase:"Reset Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.6"),description:"The server has fulfilled the request and desires that the user agent reset the document view which caused the request to be sent.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Clear the originating form or input view.",commonCauses:["Form submission that should reset on success."],relatedStatuses:[204]}},206:{code:206,phrase:"Partial Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.7"),description:"The server is successfully fulfilling a range request for the target resource by transferring one or more parts of the selected representation.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:true,purpose:"Indicates which byte range is in the body."},{name:"Accept-Ranges",required:false,purpose:"Indicates supported range units."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Assemble the byte range with previously fetched parts; resume support.",commonCauses:["Range request for video, large file, or resumable download."],relatedStatuses:[200,416]}},207:{code:207,phrase:"Multi-Status",category:"Success",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.1",description:"WebDAV: provides status for multiple independent operations in a single response (multistatus XML).",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse the multistatus XML body for per-resource status codes.",commonCauses:["WebDAV PROPFIND, PROPPATCH, COPY, MOVE, DELETE on collections."],relatedStatuses:[208]}},208:{code:208,phrase:"Already Reported",category:"Success",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.1",description:"WebDAV: used inside a 207 Multi-Status response to avoid repeatedly enumerating internal members of multiple bindings to the same collection.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as already-enumerated; do not re-fetch.",commonCauses:["WebDAV bindings already reported in the same multistatus."],relatedStatuses:[207]}},226:{code:226,phrase:"IM Used",category:"Success",source:"IANA",rfc:"RFC3229",specUrl:"https://datatracker.ietf.org/doc/html/rfc3229#section-10.4.1",description:"The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:["GET"],relatedHeaders:[{name:"IM",required:false,purpose:"Instance manipulation applied."},{name:"Delta-Base",required:false,purpose:"Base entity tag for delta encoding."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Apply the delta to the cached representation.",commonCauses:["Delta-encoded HTTP response."],relatedStatuses:[200]}},300:{code:300,phrase:"Multiple Choices",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.1"),description:"The target resource has more than one representation, each with its own more specific identifier, and information about the alternatives is provided.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"Server-preferred alternative URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Pick a representation from the listed alternatives or follow Location if provided.",commonCauses:["Content negotiation with multiple acceptable variants."],relatedStatuses:[301,302,303]}},301:{code:301,phrase:"Moved Permanently",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.2"),description:"The target resource has been assigned a new permanent URI and any future references to this resource ought to use the enclosed URI.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location; update bookmarks/links to the new URI.",commonCauses:["Permanent URL change, domain migration, HTTPS upgrade."],relatedStatuses:[308,302]}},302:{code:302,phrase:"Found",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.3"),description:"The target resource resides temporarily under a different URI. The client should continue to use the original request URI for future requests.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:["Moved Temporarily"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location for this request only; do not cache the redirect.",commonCauses:["Temporary redirect, post-login redirect."],relatedStatuses:[303,307]}},303:{code:303,phrase:"See Other",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.4"),description:"The server is redirecting the user agent to a different resource, as indicated by Location, that is intended to provide an indirect response to the original request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Target URI to GET."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Issue a GET to Location regardless of the original method.",commonCauses:["Post/Redirect/Get pattern after form submission."],relatedStatuses:[302,307]}},304:{code:304,phrase:"Not Modified",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.5"),description:"Indicates that the conditional request would have resulted in a 200 OK response if it were not for the fact that the condition evaluated to false.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"ETag",required:false,purpose:"Validator matching the cached representation."},{name:"Cache-Control",required:false,purpose:"Freshness directives."},{name:"Vary",required:false,purpose:"Headers that affected selection."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Serve from the local cache; the cached representation is still fresh.",commonCauses:["Conditional GET with If-None-Match or If-Modified-Since matched."],relatedStatuses:[200,412]}},305:{code:305,phrase:"Use Proxy",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.6"),description:"Deprecated. The requested resource must be accessed through a specified proxy.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Ignore; modern clients must not honor 305 for security reasons.",commonCauses:["Legacy proxy configuration."],relatedStatuses:[]}},307:{code:307,phrase:"Temporary Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.8"),description:"The target resource resides temporarily under a different URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method and body.",commonCauses:["Temporary redirect where method preservation matters (e.g., POST)."],relatedStatuses:[302,308]}},308:{code:308,phrase:"Permanent Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.9"),description:"The target resource has been assigned a new permanent URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method; update stored references.",commonCauses:["Permanent move where method preservation matters."],relatedStatuses:[301,307]}},400:{code:400,phrase:"Bad Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.1"),description:"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed syntax, invalid framing).",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Fix the request payload or syntax; do not retry as-is.",commonCauses:["Malformed JSON","Missing required field","Invalid header syntax"],relatedStatuses:[422,415]}},401:{code:401,phrase:"Unauthorized",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.2"),description:"The request has not been applied because it lacks valid authentication credentials for the target resource.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"WWW-Authenticate",required:true,purpose:"Challenge describing the auth scheme."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Acquire valid credentials and retry with an Authorization header.",commonCauses:["Missing or expired token","Wrong credentials","Token revoked"],relatedStatuses:[403,407]}},402:{code:402,phrase:"Payment Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.3"),description:"Reserved for future use. Originally intended for digital payment systems.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface payment/billing requirement to the user; do not auto-retry.",commonCauses:["API quota exhausted on paid tier","Subscription expired"],relatedStatuses:[403,429]}},403:{code:403,phrase:"Forbidden",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.4"),description:"The server understood the request but refuses to authorize it. Re-authenticating will not help.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not retry; the principal lacks permission for this resource.",commonCauses:["Insufficient role/scope","IP blocked","CSRF check failed"],relatedStatuses:[401,451]}},404:{code:404,phrase:"Not Found",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.5"),description:"The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Verify the URL; do not retry unless the resource is expected to appear later.",commonCauses:["Typo in URL","Resource deleted","Privacy-preserving hide of 403"],relatedStatuses:[410,403]}},405:{code:405,phrase:"Method Not Allowed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.6"),description:"The method received in the request-line is known by the origin server but not supported by the target resource.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Allow",required:true,purpose:"Lists the methods supported by the target resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Inspect Allow header and reissue with a permitted method.",commonCauses:["Wrong HTTP verb for the endpoint."],relatedStatuses:[501]}},406:{code:406,phrase:"Not Acceptable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.7"),description:"The target resource does not have a current representation that would be acceptable to the user agent according to the proactive negotiation header fields.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Accept",required:false,purpose:"Originating preference header."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Relax Accept/Accept-Language constraints and retry.",commonCauses:["No representation matches the client's Accept headers."],relatedStatuses:[415]}},407:{code:407,phrase:"Proxy Authentication Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.8"),description:"Similar to 401 but indicates that the client needs to authenticate itself in order to use a proxy.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"Proxy-Authenticate",required:true,purpose:"Proxy auth challenge."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Supply Proxy-Authorization and retry.",commonCauses:["Corporate proxy requiring authentication."],relatedStatuses:[401]}},408:{code:408,phrase:"Request Timeout",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.9"),description:"The server did not receive a complete request message within the time that it was prepared to wait.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry the request with backoff; consider increasing client timeout.",commonCauses:["Slow client","Network congestion","Idle keep-alive connection closed"],relatedStatuses:[504]}},409:{code:409,phrase:"Conflict",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.10"),description:"The request could not be completed due to a conflict with the current state of the target resource.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-read the current resource state and resolve the conflict before resubmitting.",commonCauses:["Concurrent edit collision","Duplicate resource creation","Version mismatch"],relatedStatuses:[412,428]}},410:{code:410,phrase:"Gone",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.11"),description:"Access to the target resource is no longer available at the origin server and this condition is likely to be permanent.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove any cached references; do not retry.",commonCauses:["Permanently deleted resource."],relatedStatuses:[404]}},411:{code:411,phrase:"Length Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.12"),description:"The server refuses to accept the request without a defined Content-Length.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Content-Length",required:true,purpose:"Length of the request body in octets."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add Content-Length and retry.",commonCauses:["Chunked transfer rejected by server."],relatedStatuses:[]}},412:{code:412,phrase:"Precondition Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.13"),description:"One or more conditions given in the request header fields evaluated to false when tested on the server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"If-Match",required:false,purpose:"Originating precondition."},{name:"If-Unmodified-Since",required:false,purpose:"Originating precondition."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-fetch current ETag/Last-Modified and retry with the new validator.",commonCauses:["Stale If-Match","Optimistic concurrency control mismatch"],relatedStatuses:[409,428]}},413:{code:413,phrase:"Content Too Large",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.14"),description:"The server is refusing to process a request because the request content is larger than the server is willing or able to process.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates when the condition may be temporary."}],aliases:["Payload Too Large","Request Entity Too Large"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Reduce body size, chunk the upload, or use a different endpoint.",commonCauses:["Upload exceeds server limit."],relatedStatuses:[]}},414:{code:414,phrase:"URI Too Long",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.15"),description:"The server is refusing to service the request because the request-target is longer than the server is willing to interpret.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Request-URI Too Long"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Shorten the URL; move parameters into a POST body.",commonCauses:["Excessive query string","Loop generating long redirect URI"],relatedStatuses:[]}},415:{code:415,phrase:"Unsupported Media Type",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.16"),description:"The server is refusing to service the request because the content is in a format not supported by this method on the target resource.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Accept",required:false,purpose:"Indicates supported response types."},{name:"Accept-Encoding",required:false,purpose:"Indicates supported encodings."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Set Content-Type to a supported value and retry.",commonCauses:["Wrong Content-Type","Unsupported encoding"],relatedStatuses:[406]}},416:{code:416,phrase:"Range Not Satisfiable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.17"),description:"None of the ranges in the request's Range header field overlap the current extent of the selected resource, or the set of ranges requested has been rejected.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:false,purpose:"Total size of the representation."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-check the resource length and request a valid range.",commonCauses:["Range beyond resource length."],relatedStatuses:[206]}},417:{code:417,phrase:"Expectation Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.18"),description:"The expectation given in the request's Expect header field could not be met by at least one of the inbound servers.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove the Expect header and retry.",commonCauses:["Server does not support Expect: 100-continue."],relatedStatuses:[100]}},418:{code:418,phrase:"I'm a teapot",category:"Client Error",source:"IANA",rfc:"RFC2324",specUrl:"https://datatracker.ietf.org/doc/html/rfc2324#section-2.3.2",description:"Any attempt to brew coffee with a teapot should result in the error code 418 I'm a teapot. A joke status from the Hyper Text Coffee Pot Control Protocol.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a humorous easter egg or anti-bot signal; do not retry.",commonCauses:["Server is signaling a refusal humorously."],relatedStatuses:[]}},421:{code:421,phrase:"Misdirected Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.20"),description:"The request was directed at a server that is not able to produce a response. This can be sent by a server that is not configured to produce responses for the combination of scheme and authority included in the request URI.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Re-resolve the host and open a new connection before retrying.",commonCauses:["HTTP/2 connection coalescing to wrong origin."],relatedStatuses:[]}},422:{code:422,phrase:"Unprocessable Content",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.21"),description:"The server understands the content type of the request content and the syntax of the request content is correct, but it was unable to process the contained instructions.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Unprocessable Entity"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Validate semantic constraints (e.g., schema validation errors) and resubmit.",commonCauses:["Schema validation failure","Business rule violation"],relatedStatuses:[400]}},423:{code:423,phrase:"Locked",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.3",description:"WebDAV: the source or destination resource is locked.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Acquire the lock or wait for it to release, then retry.",commonCauses:["WebDAV resource locked by another client."],relatedStatuses:[424]}},424:{code:424,phrase:"Failed Dependency",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.4",description:"WebDAV: the method could not be performed on the resource because the requested action depended on another action which failed.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Resolve the failing prerequisite action first.",commonCauses:["Prior WebDAV operation in the same request failed."],relatedStatuses:[423]}},425:{code:425,phrase:"Too Early",category:"Client Error",source:"IANA",rfc:"RFC8470",specUrl:"https://datatracker.ietf.org/doc/html/rfc8470#section-5.2",description:"Indicates that the server is unwilling to risk processing a request that might be replayed (e.g., TLS 1.3 early data).",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Early-Data",required:false,purpose:"Indicates the request was sent in TLS early data."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Retry the request after the TLS handshake completes.",commonCauses:["Request sent in TLS 1.3 0-RTT early data."],relatedStatuses:[]}},426:{code:426,phrase:"Upgrade Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.22"),description:"The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Protocols the server is willing to switch to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Upgrade to the protocol indicated in Upgrade and retry.",commonCauses:["Server requires HTTPS or HTTP/2."],relatedStatuses:[101]}},428:{code:428,phrase:"Precondition Required",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-3",description:"The origin server requires the request to be conditional. Intended to prevent the lost update problem.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add If-Match or If-Unmodified-Since and retry.",commonCauses:["Server enforces optimistic concurrency control."],relatedStatuses:[412]}},429:{code:429,phrase:"Too Many Requests",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-4",description:'The user has sent too many requests in a given amount of time ("rate limiting").',expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long to wait before retrying."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Wait the duration in Retry-After (or back off exponentially) and retry.",commonCauses:["Rate limit exceeded."],relatedStatuses:[503,509]}},431:{code:431,phrase:"Request Header Fields Too Large",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-5",description:"The server is unwilling to process the request because its header fields are too large.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim cookies/headers and retry.",commonCauses:["Oversized cookie jar","Long Authorization token"],relatedStatuses:[]}},451:{code:451,phrase:"Unavailable For Legal Reasons",category:"Client Error",source:"IANA",rfc:"RFC7725",specUrl:"https://datatracker.ietf.org/doc/html/rfc7725#section-3",description:"The server is denying access to the resource as a consequence of a legal demand.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface the legal blockage to the user; do not retry.",commonCauses:["Court order","Government censorship","DMCA takedown"],relatedStatuses:[403]}},500:{code:500,phrase:"Internal Server Error",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.1"),description:"The server encountered an unexpected condition that prevented it from fulfilling the request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry idempotent requests with backoff; report to the operator if persistent.",commonCauses:["Unhandled exception","Database failure","Misconfiguration"],relatedStatuses:[502,503]}},501:{code:501,phrase:"Not Implemented",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.2"),description:"The server does not support the functionality required to fulfill the request.",expectsEmptyBody:false,isCacheable:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Use a different method or endpoint; this feature is not supported.",commonCauses:["Server lacks support for the requested method."],relatedStatuses:[405]}},502:{code:502,phrase:"Bad Gateway",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.3"),description:"The server, while acting as a gateway or proxy, received an invalid response from an inbound server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; the upstream is likely transiently unhealthy.",commonCauses:["Upstream returned malformed response","Origin briefly down"],relatedStatuses:[503,504]}},503:{code:503,phrase:"Service Unavailable",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.4"),description:"The server is currently unable to handle the request due to a temporary overload or scheduled maintenance.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long the service is expected to be unavailable."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Respect Retry-After if present; otherwise back off exponentially.",commonCauses:["Overload","Scheduled maintenance","Circuit breaker open"],relatedStatuses:[429,502,504]}},504:{code:504,phrase:"Gateway Timeout",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.5"),description:"The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; consider increasing the upstream timeout.",commonCauses:["Slow upstream","Network partition"],relatedStatuses:[408,502]}},505:{code:505,phrase:"HTTP Version Not Supported",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.6"),description:"The server does not support, or refuses to support, the major version of HTTP that was used in the request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Downgrade or upgrade to a supported HTTP version and retry.",commonCauses:["Client speaks HTTP version the server has disabled."],relatedStatuses:[426]}},506:{code:506,phrase:"Variant Also Negotiates",category:"Server Error",source:"IANA",rfc:"RFC2295",specUrl:"https://datatracker.ietf.org/doc/html/rfc2295#section-8.1",description:"Transparent content negotiation for the request results in a circular reference.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Server-side configuration bug; report to the operator.",commonCauses:["Misconfigured content negotiation chain."],relatedStatuses:[]}},507:{code:507,phrase:"Insufficient Storage",category:"Server Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.5",description:"WebDAV: the method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry later or reduce payload size; storage is full upstream.",commonCauses:["Disk full on server."],relatedStatuses:[413]}},508:{code:508,phrase:"Loop Detected",category:"Server Error",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.2",description:"WebDAV: the server terminated an operation because it encountered an infinite loop while processing a request with Depth: infinity.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Restructure the request to avoid the cycle.",commonCauses:["Cyclic WebDAV bindings."],relatedStatuses:[]}},510:{code:510,phrase:"Not Extended",category:"Server Error",source:"IANA",rfc:"RFC2774",specUrl:"https://datatracker.ietf.org/doc/html/rfc2774#section-7",description:"Further extensions to the request are required for the server to fulfill it.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add the required HTTP extension declarations and retry.",commonCauses:["Server requires HTTP extension framework."],relatedStatuses:[]}},511:{code:511,phrase:"Network Authentication Required",category:"Server Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-6",description:"The client needs to authenticate to gain network access. Intended for captive portals.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Complete the captive portal flow, then retry.",commonCauses:["Public Wi-Fi captive portal."],relatedStatuses:[401]}}};var f={WEB_SERVER_RETURNED_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMED_OUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURRED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,ORIGIN_DNS_ERROR:530},r="https://developers.cloudflare.com/support/troubleshooting/http-status-codes/5xx-errors/",s={520:{code:520,phrase:"Web Server Returned an Unknown Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-520-web-server-returns-an-unknown-error`,description:"The origin server returned an empty, unknown, or unexpected response to Cloudflare.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, the origin is misbehaving and needs operator attention.",commonCauses:["Origin crashed mid-response","Origin returned malformed HTTP"],relatedStatuses:[502]}},521:{code:521,phrase:"Web Server Is Down",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-521-web-server-is-down`,description:"The origin server refused the connection from Cloudflare. Cloudflare could not establish a TCP connection.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; verify origin is running and not blocking Cloudflare IPs.",commonCauses:["Origin down","Cloudflare IPs blocked at firewall"],relatedStatuses:[502,503]}},522:{code:522,phrase:"Connection Timed Out",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-522-connection-timed-out`,description:"Cloudflare could not negotiate a TCP handshake with the origin server before timing out.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; investigate origin network reachability.",commonCauses:["Origin overloaded","Network partition between CF and origin"],relatedStatuses:[504]}},523:{code:523,phrase:"Origin Is Unreachable",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-523-origin-is-unreachable`,description:"Cloudflare could not reach the origin server, commonly due to a routing/BGP issue or invalid DNS record.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, check origin DNS and routing.",commonCauses:["DNS record points to wrong IP","BGP routing problem"],relatedStatuses:[530]}},524:{code:524,phrase:"A Timeout Occurred",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-524-a-timeout-occurred`,description:"Cloudflare successfully connected and sent data to the origin, but the origin took too long to respond with an HTTP response.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; for long-running requests, consider an async pattern (e.g., 202 + polling).",commonCauses:["Long-running origin request exceeded the 100-second CF limit."],relatedStatuses:[504,408]}},525:{code:525,phrase:"SSL Handshake Failed",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-525-ssl-handshake-failed`,description:"Cloudflare could not negotiate an SSL/TLS handshake with the origin server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: align cipher suites and TLS versions between CF and origin.",commonCauses:["No common cipher suite","TLS version mismatch"],relatedStatuses:[526]}},526:{code:526,phrase:"Invalid SSL Certificate",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-526-invalid-ssl-certificate`,description:"Cloudflare could not validate the SSL certificate on the origin web server when SSL Full (strict) mode is active.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: install a valid origin certificate or relax SSL mode.",commonCauses:["Expired or self-signed origin cert","Hostname mismatch"],relatedStatuses:[525]}},527:{code:527,phrase:"Railgun Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-527-railgun-listener-to-origin`,description:"Indicates an error connecting between Cloudflare and the origin's Railgun (rwengine) server.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; Railgun is largely deprecated in favor of Argo Smart Routing.",commonCauses:["Railgun listener unreachable."],relatedStatuses:[]}},530:{code:530,phrase:"Origin DNS Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:"https://developers.cloudflare.com/support/troubleshooting/cloudflare-errors/troubleshooting-cloudflare-1xxx-errors/",description:"A 530 response is typically returned alongside a Cloudflare 1xxx error displayed in the body, indicating an origin DNS or worker failure.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Inspect the body for the embedded 1xxx code; resolve DNS or Worker error.",commonCauses:["Origin DNS resolution failure","Worker script error"],relatedStatuses:[523]}}};var g={NO_RESPONSE:444,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,CLIENT_CLOSED_REQUEST:499},o={444:{code:444,phrase:"No Response",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#return",description:'Nginx-specific code instructing the server to close the connection without sending any response headers (used via "return 444;").',expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a deliberate drop; do not retry the same request.",commonCauses:["Anti-abuse rule","Malformed request blocked at the edge"],relatedStatuses:[]}},494:{code:494,phrase:"Request Header Too Large",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers",description:"Nginx-specific code returned when the request headers exceed large_client_header_buffers.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim headers/cookies and retry.",commonCauses:["Oversized cookie jar","Long Authorization header"],relatedStatuses:[431]}},495:{code:495,phrase:"SSL Certificate Error",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when client certificate verification fails.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Provide a valid client certificate and retry.",commonCauses:["Expired or untrusted client certificate."],relatedStatuses:[496]}},496:{code:496,phrase:"SSL Certificate Required",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when a client certificate was required but not provided.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Attach a client certificate to the TLS connection and retry.",commonCauses:["Mutual TLS endpoint reached without a client cert."],relatedStatuses:[495]}},497:{code:497,phrase:"HTTP Request Sent to HTTPS Port",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#errors",description:"Nginx-specific code returned when a plain HTTP request is sent to an HTTPS port.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Reissue the request over HTTPS.",commonCauses:["Client used http:// against an https-only port."],relatedStatuses:[426]}},499:{code:499,phrase:"Client Closed Request",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html",description:"Nginx-specific code logged when the client closes the connection while the server is still processing the request.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"No action; this code is observed in access logs, not received by the client.",commonCauses:["Client aborted the request","Network drop"],relatedStatuses:[408]}}};var i=Object.freeze({...a,...s,...o}),R=t=>i[t];var n=t=>t>=100&&t<200,E=t=>t>=200&&t<300,T=t=>t>=300&&t<400,v=t=>t>=400&&t<500,x=t=>t>=500&&t<600,q=t=>t>=400,c=new Set([408,421,425,426,429,500,502,503,504,507,511,520,521,522,523,524,527,530,497]),I=t=>c.has(t),l=new Set([204,205,304,444,499]),N=t=>n(t)||l.has(t),d=new Set([200,203,204,206,226,300,301,308,404,405,410,414,501]),U=t=>d.has(t)?"heuristic":false,u=new Set([401,407,496,511]),F=t=>u.has(t);
export{s as CloudflareRegistry,f as CloudflareStatus,i as CompleteRegistry,a as IanaRegistry,p as IanaStatus,o as NginxRegistry,g as NginxStatus,R as getMetadata,N as hasEmptyBody,U as isCacheable,v as isClientError,q as isError,n as isInformational,T as isRedirection,I as isRetryable,x as isServerError,E as isSuccess,F as requiresAuth};
var p={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,IM_USED:226,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,CONTENT_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_CONTENT:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511},e=t=>`https://datatracker.ietf.org/doc/html/rfc9110#section-${t}`,a={100:{code:100,phrase:"Continue",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.1"),description:"The initial part of a request has been received and the client should continue to send the remainder of the request, or ignore the response if the request is already complete.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Expect",required:false,purpose:"Originating request header that triggers a 100 response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Continue sending the request body; treat as a successful handshake.",commonCauses:["Client sent Expect: 100-continue before a large body."],relatedStatuses:[417]}},101:{code:101,phrase:"Switching Protocols",category:"Informational",source:"IANA",rfc:"RFC9110",specUrl:e("15.2.2"),description:"The server understands and is willing to comply with the client request, via the Upgrade header field, for a change in the application protocol being used on this connection.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Lists the protocol(s) being switched to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Switch to the protocol named in the Upgrade header (e.g., WebSocket).",commonCauses:["Client requested protocol upgrade (WebSocket, HTTP/2 cleartext)."],relatedStatuses:[426]}},102:{code:102,phrase:"Processing",category:"Informational",source:"IANA",rfc:"RFC2518",specUrl:"https://datatracker.ietf.org/doc/html/rfc2518#section-10.1",description:"WebDAV interim response indicating that the server has accepted the complete request but has not yet completed it. Deprecated by some clients.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Keep the connection open and wait for the final response.",commonCauses:["Long-running WebDAV operation."],relatedStatuses:[]}},103:{code:103,phrase:"Early Hints",category:"Informational",source:"IANA",rfc:"RFC8297",specUrl:"https://datatracker.ietf.org/doc/html/rfc8297#section-2",description:"Used to return some response headers before the final HTTP message, typically to allow the client to preload resources via Link headers.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Link",required:false,purpose:"Preload/preconnect hints sent before the final response."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Begin preloading hinted resources while awaiting the final response.",commonCauses:["Server-driven preload hints to reduce page load time."],relatedStatuses:[]}},200:{code:200,phrase:"OK",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.1"),description:"The request has succeeded. The payload sent depends on the request method.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse and use the response body.",commonCauses:["Standard successful request."],relatedStatuses:[201,204,206]}},201:{code:201,phrase:"Created",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.2"),description:"The request has been fulfilled and has resulted in one or more new resources being created. The primary resource URI is given by Location.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"URI of the newly created resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Read the Location header for the new resource URI.",commonCauses:["Successful POST or PUT that created a resource."],relatedStatuses:[200,202]}},202:{code:202,phrase:"Accepted",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.3"),description:"The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Poll the indicated status endpoint or wait for an async callback.",commonCauses:["Async job submission, batch processing."],relatedStatuses:[201,303]}},203:{code:203,phrase:"Non-Authoritative Information",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.4"),description:"The request was successful but the enclosed payload has been modified by a transforming proxy from that of the origin server.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as 200 OK but be aware the body may have been transformed by an intermediary.",commonCauses:["Transforming proxy modified the response."],relatedStatuses:[200]}},204:{code:204,phrase:"No Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.5"),description:"The server has successfully fulfilled the request and there is no additional content to send in the response payload body.",expectsEmptyBody:true,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not attempt to parse a body; treat as success.",commonCauses:["Successful DELETE or PUT/PATCH that returns no body."],relatedStatuses:[200,205]}},205:{code:205,phrase:"Reset Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.6"),description:"The server has fulfilled the request and desires that the user agent reset the document view which caused the request to be sent.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Clear the originating form or input view.",commonCauses:["Form submission that should reset on success."],relatedStatuses:[204]}},206:{code:206,phrase:"Partial Content",category:"Success",source:"IANA",rfc:"RFC9110",specUrl:e("15.3.7"),description:"The server is successfully fulfilling a range request for the target resource by transferring one or more parts of the selected representation.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:true,purpose:"Indicates which byte range is in the body."},{name:"Accept-Ranges",required:false,purpose:"Indicates supported range units."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Assemble the byte range with previously fetched parts; resume support.",commonCauses:["Range request for video, large file, or resumable download."],relatedStatuses:[200,416]}},207:{code:207,phrase:"Multi-Status",category:"Success",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.1",description:"WebDAV: provides status for multiple independent operations in a single response (multistatus XML).",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Parse the multistatus XML body for per-resource status codes.",commonCauses:["WebDAV PROPFIND, PROPPATCH, COPY, MOVE, DELETE on collections."],relatedStatuses:[208]}},208:{code:208,phrase:"Already Reported",category:"Success",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.1",description:"WebDAV: used inside a 207 Multi-Status response to avoid repeatedly enumerating internal members of multiple bindings to the same collection.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as already-enumerated; do not re-fetch.",commonCauses:["WebDAV bindings already reported in the same multistatus."],relatedStatuses:[207]}},226:{code:226,phrase:"IM Used",category:"Success",source:"IANA",rfc:"RFC3229",specUrl:"https://datatracker.ietf.org/doc/html/rfc3229#section-10.4.1",description:"The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:["GET"],relatedHeaders:[{name:"IM",required:false,purpose:"Instance manipulation applied."},{name:"Delta-Base",required:false,purpose:"Base entity tag for delta encoding."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Apply the delta to the cached representation.",commonCauses:["Delta-encoded HTTP response."],relatedStatuses:[200]}},300:{code:300,phrase:"Multiple Choices",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.1"),description:"The target resource has more than one representation, each with its own more specific identifier, and information about the alternatives is provided.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:false,purpose:"Server-preferred alternative URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Pick a representation from the listed alternatives or follow Location if provided.",commonCauses:["Content negotiation with multiple acceptable variants."],relatedStatuses:[301,302,303]}},301:{code:301,phrase:"Moved Permanently",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.2"),description:"The target resource has been assigned a new permanent URI and any future references to this resource ought to use the enclosed URI.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location; update bookmarks/links to the new URI.",commonCauses:["Permanent URL change, domain migration, HTTPS upgrade."],relatedStatuses:[308,302]}},302:{code:302,phrase:"Found",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.3"),description:"The target resource resides temporarily under a different URI. The client should continue to use the original request URI for future requests.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:["Moved Temporarily"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location for this request only; do not cache the redirect.",commonCauses:["Temporary redirect, post-login redirect."],relatedStatuses:[303,307]}},303:{code:303,phrase:"See Other",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.4"),description:"The server is redirecting the user agent to a different resource, as indicated by Location, that is intended to provide an indirect response to the original request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Target URI to GET."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Issue a GET to Location regardless of the original method.",commonCauses:["Post/Redirect/Get pattern after form submission."],relatedStatuses:[302,307]}},304:{code:304,phrase:"Not Modified",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.5"),description:"Indicates that the conditional request would have resulted in a 200 OK response if it were not for the fact that the condition evaluated to false.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"ETag",required:false,purpose:"Validator matching the cached representation."},{name:"Cache-Control",required:false,purpose:"Freshness directives."},{name:"Vary",required:false,purpose:"Headers that affected selection."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Serve from the local cache; the cached representation is still fresh.",commonCauses:["Conditional GET with If-None-Match or If-Modified-Since matched."],relatedStatuses:[200,412]}},305:{code:305,phrase:"Use Proxy",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.6"),description:"Deprecated. The requested resource must be accessed through a specified proxy.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Ignore; modern clients must not honor 305 for security reasons.",commonCauses:["Legacy proxy configuration."],relatedStatuses:[]}},307:{code:307,phrase:"Temporary Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.8"),description:"The target resource resides temporarily under a different URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"Temporary URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method and body.",commonCauses:["Temporary redirect where method preservation matters (e.g., POST)."],relatedStatuses:[302,308]}},308:{code:308,phrase:"Permanent Redirect",category:"Redirection",source:"IANA",rfc:"RFC9110",specUrl:e("15.4.9"),description:"The target resource has been assigned a new permanent URI and the user agent MUST NOT change the request method when following the redirect.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Location",required:true,purpose:"New permanent URI."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Follow Location with the same method; update stored references.",commonCauses:["Permanent move where method preservation matters."],relatedStatuses:[301,307]}},400:{code:400,phrase:"Bad Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.1"),description:"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed syntax, invalid framing).",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Fix the request payload or syntax; do not retry as-is.",commonCauses:["Malformed JSON","Missing required field","Invalid header syntax"],relatedStatuses:[422,415]}},401:{code:401,phrase:"Unauthorized",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.2"),description:"The request has not been applied because it lacks valid authentication credentials for the target resource.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"WWW-Authenticate",required:true,purpose:"Challenge describing the auth scheme."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Acquire valid credentials and retry with an Authorization header.",commonCauses:["Missing or expired token","Wrong credentials","Token revoked"],relatedStatuses:[403,407]}},402:{code:402,phrase:"Payment Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.3"),description:"Reserved for future use. Originally intended for digital payment systems.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface payment/billing requirement to the user; do not auto-retry.",commonCauses:["API quota exhausted on paid tier","Subscription expired"],relatedStatuses:[403,429]}},403:{code:403,phrase:"Forbidden",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.4"),description:"The server understood the request but refuses to authorize it. Re-authenticating will not help.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Do not retry; the principal lacks permission for this resource.",commonCauses:["Insufficient role/scope","IP blocked","CSRF check failed"],relatedStatuses:[401,451]}},404:{code:404,phrase:"Not Found",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.5"),description:"The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Verify the URL; do not retry unless the resource is expected to appear later.",commonCauses:["Typo in URL","Resource deleted","Privacy-preserving hide of 403"],relatedStatuses:[410,403]}},405:{code:405,phrase:"Method Not Allowed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.6"),description:"The method received in the request-line is known by the origin server but not supported by the target resource.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Allow",required:true,purpose:"Lists the methods supported by the target resource."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Inspect Allow header and reissue with a permitted method.",commonCauses:["Wrong HTTP verb for the endpoint."],relatedStatuses:[501]}},406:{code:406,phrase:"Not Acceptable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.7"),description:"The target resource does not have a current representation that would be acceptable to the user agent according to the proactive negotiation header fields.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Accept",required:false,purpose:"Originating preference header."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Relax Accept/Accept-Language constraints and retry.",commonCauses:["No representation matches the client's Accept headers."],relatedStatuses:[415]}},407:{code:407,phrase:"Proxy Authentication Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.8"),description:"Similar to 401 but indicates that the client needs to authenticate itself in order to use a proxy.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[{name:"Proxy-Authenticate",required:true,purpose:"Proxy auth challenge."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Supply Proxy-Authorization and retry.",commonCauses:["Corporate proxy requiring authentication."],relatedStatuses:[401]}},408:{code:408,phrase:"Request Timeout",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.9"),description:"The server did not receive a complete request message within the time that it was prepared to wait.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry the request with backoff; consider increasing client timeout.",commonCauses:["Slow client","Network congestion","Idle keep-alive connection closed"],relatedStatuses:[504]}},409:{code:409,phrase:"Conflict",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.10"),description:"The request could not be completed due to a conflict with the current state of the target resource.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-read the current resource state and resolve the conflict before resubmitting.",commonCauses:["Concurrent edit collision","Duplicate resource creation","Version mismatch"],relatedStatuses:[412,428]}},410:{code:410,phrase:"Gone",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.11"),description:"Access to the target resource is no longer available at the origin server and this condition is likely to be permanent.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove any cached references; do not retry.",commonCauses:["Permanently deleted resource."],relatedStatuses:[404]}},411:{code:411,phrase:"Length Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.12"),description:"The server refuses to accept the request without a defined Content-Length.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Content-Length",required:true,purpose:"Length of the request body in octets."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add Content-Length and retry.",commonCauses:["Chunked transfer rejected by server."],relatedStatuses:[]}},412:{code:412,phrase:"Precondition Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.13"),description:"One or more conditions given in the request header fields evaluated to false when tested on the server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"If-Match",required:false,purpose:"Originating precondition."},{name:"If-Unmodified-Since",required:false,purpose:"Originating precondition."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-fetch current ETag/Last-Modified and retry with the new validator.",commonCauses:["Stale If-Match","Optimistic concurrency control mismatch"],relatedStatuses:[409,428]}},413:{code:413,phrase:"Content Too Large",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.14"),description:"The server is refusing to process a request because the request content is larger than the server is willing or able to process.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates when the condition may be temporary."}],aliases:["Payload Too Large","Request Entity Too Large"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Reduce body size, chunk the upload, or use a different endpoint.",commonCauses:["Upload exceeds server limit."],relatedStatuses:[]}},414:{code:414,phrase:"URI Too Long",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.15"),description:"The server is refusing to service the request because the request-target is longer than the server is willing to interpret.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Request-URI Too Long"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Shorten the URL; move parameters into a POST body.",commonCauses:["Excessive query string","Loop generating long redirect URI"],relatedStatuses:[]}},415:{code:415,phrase:"Unsupported Media Type",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.16"),description:"The server is refusing to service the request because the content is in a format not supported by this method on the target resource.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["POST","PUT","PATCH"],relatedHeaders:[{name:"Accept",required:false,purpose:"Indicates supported response types."},{name:"Accept-Encoding",required:false,purpose:"Indicates supported encodings."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Set Content-Type to a supported value and retry.",commonCauses:["Wrong Content-Type","Unsupported encoding"],relatedStatuses:[406]}},416:{code:416,phrase:"Range Not Satisfiable",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.17"),description:"None of the ranges in the request's Range header field overlap the current extent of the selected resource, or the set of ranges requested has been rejected.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:["GET","HEAD"],relatedHeaders:[{name:"Content-Range",required:false,purpose:"Total size of the representation."}],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Re-check the resource length and request a valid range.",commonCauses:["Range beyond resource length."],relatedStatuses:[206]}},417:{code:417,phrase:"Expectation Failed",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.18"),description:"The expectation given in the request's Expect header field could not be met by at least one of the inbound servers.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Remove the Expect header and retry.",commonCauses:["Server does not support Expect: 100-continue."],relatedStatuses:[100]}},418:{code:418,phrase:"I'm a teapot",category:"Client Error",source:"IANA",rfc:"RFC2324",specUrl:"https://datatracker.ietf.org/doc/html/rfc2324#section-2.3.2",description:"Any attempt to brew coffee with a teapot should result in the error code 418 I'm a teapot. A joke status from the Hyper Text Coffee Pot Control Protocol.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a humorous easter egg or anti-bot signal; do not retry.",commonCauses:["Server is signaling a refusal humorously."],relatedStatuses:[]}},421:{code:421,phrase:"Misdirected Request",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.20"),description:"The request was directed at a server that is not able to produce a response. This can be sent by a server that is not configured to produce responses for the combination of scheme and authority included in the request URI.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Re-resolve the host and open a new connection before retrying.",commonCauses:["HTTP/2 connection coalescing to wrong origin."],relatedStatuses:[]}},422:{code:422,phrase:"Unprocessable Content",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.21"),description:"The server understands the content type of the request content and the syntax of the request content is correct, but it was unable to process the contained instructions.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:["Unprocessable Entity"],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Validate semantic constraints (e.g., schema validation errors) and resubmit.",commonCauses:["Schema validation failure","Business rule violation"],relatedStatuses:[400]}},423:{code:423,phrase:"Locked",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.3",description:"WebDAV: the source or destination resource is locked.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Acquire the lock or wait for it to release, then retry.",commonCauses:["WebDAV resource locked by another client."],relatedStatuses:[424]}},424:{code:424,phrase:"Failed Dependency",category:"Client Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.4",description:"WebDAV: the method could not be performed on the resource because the requested action depended on another action which failed.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Resolve the failing prerequisite action first.",commonCauses:["Prior WebDAV operation in the same request failed."],relatedStatuses:[423]}},425:{code:425,phrase:"Too Early",category:"Client Error",source:"IANA",rfc:"RFC8470",specUrl:"https://datatracker.ietf.org/doc/html/rfc8470#section-5.2",description:"Indicates that the server is unwilling to risk processing a request that might be replayed (e.g., TLS 1.3 early data).",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Early-Data",required:false,purpose:"Indicates the request was sent in TLS early data."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Retry the request after the TLS handshake completes.",commonCauses:["Request sent in TLS 1.3 0-RTT early data."],relatedStatuses:[]}},426:{code:426,phrase:"Upgrade Required",category:"Client Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.5.22"),description:"The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Upgrade",required:true,purpose:"Protocols the server is willing to switch to."},{name:"Connection",required:true,purpose:'Must include "Upgrade".'}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Upgrade to the protocol indicated in Upgrade and retry.",commonCauses:["Server requires HTTPS or HTTP/2."],relatedStatuses:[101]}},428:{code:428,phrase:"Precondition Required",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-3",description:"The origin server requires the request to be conditional. Intended to prevent the lost update problem.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add If-Match or If-Unmodified-Since and retry.",commonCauses:["Server enforces optimistic concurrency control."],relatedStatuses:[412]}},429:{code:429,phrase:"Too Many Requests",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-4",description:'The user has sent too many requests in a given amount of time ("rate limiting").',expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long to wait before retrying."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Wait the duration in Retry-After (or back off exponentially) and retry.",commonCauses:["Rate limit exceeded."],relatedStatuses:[503,509]}},431:{code:431,phrase:"Request Header Fields Too Large",category:"Client Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-5",description:"The server is unwilling to process the request because its header fields are too large.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim cookies/headers and retry.",commonCauses:["Oversized cookie jar","Long Authorization token"],relatedStatuses:[]}},451:{code:451,phrase:"Unavailable For Legal Reasons",category:"Client Error",source:"IANA",rfc:"RFC7725",specUrl:"https://datatracker.ietf.org/doc/html/rfc7725#section-3",description:"The server is denying access to the resource as a consequence of a legal demand.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Surface the legal blockage to the user; do not retry.",commonCauses:["Court order","Government censorship","DMCA takedown"],relatedStatuses:[403]}},500:{code:500,phrase:"Internal Server Error",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.1"),description:"The server encountered an unexpected condition that prevented it from fulfilling the request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry idempotent requests with backoff; report to the operator if persistent.",commonCauses:["Unhandled exception","Database failure","Misconfiguration"],relatedStatuses:[502,503]}},501:{code:501,phrase:"Not Implemented",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.2"),description:"The server does not support the functionality required to fulfill the request.",expectsEmptyBody:false,cacheability:"heuristic",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Use a different method or endpoint; this feature is not supported.",commonCauses:["Server lacks support for the requested method."],relatedStatuses:[405]}},502:{code:502,phrase:"Bad Gateway",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.3"),description:"The server, while acting as a gateway or proxy, received an invalid response from an inbound server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; the upstream is likely transiently unhealthy.",commonCauses:["Upstream returned malformed response","Origin briefly down"],relatedStatuses:[503,504]}},503:{code:503,phrase:"Service Unavailable",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.4"),description:"The server is currently unable to handle the request due to a temporary overload or scheduled maintenance.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[{name:"Retry-After",required:false,purpose:"Indicates how long the service is expected to be unavailable."}],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"respect-retry-after",agentAction:"Respect Retry-After if present; otherwise back off exponentially.",commonCauses:["Overload","Scheduled maintenance","Circuit breaker open"],relatedStatuses:[429,502,504]}},504:{code:504,phrase:"Gateway Timeout",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.5"),description:"The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry with backoff; consider increasing the upstream timeout.",commonCauses:["Slow upstream","Network partition"],relatedStatuses:[408,502]}},505:{code:505,phrase:"HTTP Version Not Supported",category:"Server Error",source:"IANA",rfc:"RFC9110",specUrl:e("15.6.6"),description:"The server does not support, or refuses to support, the major version of HTTP that was used in the request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Downgrade or upgrade to a supported HTTP version and retry.",commonCauses:["Client speaks HTTP version the server has disabled."],relatedStatuses:[426]}},506:{code:506,phrase:"Variant Also Negotiates",category:"Server Error",source:"IANA",rfc:"RFC2295",specUrl:"https://datatracker.ietf.org/doc/html/rfc2295#section-8.1",description:"Transparent content negotiation for the request results in a circular reference.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Server-side configuration bug; report to the operator.",commonCauses:["Misconfigured content negotiation chain."],relatedStatuses:[]}},507:{code:507,phrase:"Insufficient Storage",category:"Server Error",source:"IANA",rfc:"RFC4918",specUrl:"https://datatracker.ietf.org/doc/html/rfc4918#section-11.5",description:"WebDAV: the method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry later or reduce payload size; storage is full upstream.",commonCauses:["Disk full on server."],relatedStatuses:[413]}},508:{code:508,phrase:"Loop Detected",category:"Server Error",source:"IANA",rfc:"RFC5842",specUrl:"https://datatracker.ietf.org/doc/html/rfc5842#section-7.2",description:"WebDAV: the server terminated an operation because it encountered an infinite loop while processing a request with Depth: infinity.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Restructure the request to avoid the cycle.",commonCauses:["Cyclic WebDAV bindings."],relatedStatuses:[]}},510:{code:510,phrase:"Not Extended",category:"Server Error",source:"IANA",rfc:"RFC2774",specUrl:"https://datatracker.ietf.org/doc/html/rfc2774#section-7",description:"Further extensions to the request are required for the server to fulfill it.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Add the required HTTP extension declarations and retry.",commonCauses:["Server requires HTTP extension framework."],relatedStatuses:[]}},511:{code:511,phrase:"Network Authentication Required",category:"Server Error",source:"IANA",rfc:"RFC6585",specUrl:"https://datatracker.ietf.org/doc/html/rfc6585#section-6",description:"The client needs to authenticate to gain network access. Intended for captive portals.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Complete the captive portal flow, then retry.",commonCauses:["Public Wi-Fi captive portal."],relatedStatuses:[401]}}};var f={WEB_SERVER_RETURNED_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMED_OUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURRED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,ORIGIN_DNS_ERROR:530},r="https://developers.cloudflare.com/support/troubleshooting/http-status-codes/5xx-errors/",s={520:{code:520,phrase:"Web Server Returned an Unknown Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-520-web-server-returns-an-unknown-error`,description:"The origin server returned an empty, unknown, or unexpected response to Cloudflare.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, the origin is misbehaving and needs operator attention.",commonCauses:["Origin crashed mid-response","Origin returned malformed HTTP"],relatedStatuses:[502]}},521:{code:521,phrase:"Web Server Is Down",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-521-web-server-is-down`,description:"The origin server refused the connection from Cloudflare. Cloudflare could not establish a TCP connection.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; verify origin is running and not blocking Cloudflare IPs.",commonCauses:["Origin down","Cloudflare IPs blocked at firewall"],relatedStatuses:[502,503]}},522:{code:522,phrase:"Connection Timed Out",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-522-connection-timed-out`,description:"Cloudflare could not negotiate a TCP handshake with the origin server before timing out.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; investigate origin network reachability.",commonCauses:["Origin overloaded","Network partition between CF and origin"],relatedStatuses:[504]}},523:{code:523,phrase:"Origin Is Unreachable",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-523-origin-is-unreachable`,description:"Cloudflare could not reach the origin server, commonly due to a routing/BGP issue or invalid DNS record.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; if persistent, check origin DNS and routing.",commonCauses:["DNS record points to wrong IP","BGP routing problem"],relatedStatuses:[530]}},524:{code:524,phrase:"A Timeout Occurred",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-524-a-timeout-occurred`,description:"Cloudflare successfully connected and sent data to the origin, but the origin took too long to respond with an HTTP response.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; for long-running requests, consider an async pattern (e.g., 202 + polling).",commonCauses:["Long-running origin request exceeded the 100-second CF limit."],relatedStatuses:[504,408]}},525:{code:525,phrase:"SSL Handshake Failed",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-525-ssl-handshake-failed`,description:"Cloudflare could not negotiate an SSL/TLS handshake with the origin server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: align cipher suites and TLS versions between CF and origin.",commonCauses:["No common cipher suite","TLS version mismatch"],relatedStatuses:[526]}},526:{code:526,phrase:"Invalid SSL Certificate",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-526-invalid-ssl-certificate`,description:"Cloudflare could not validate the SSL certificate on the origin web server when SSL Full (strict) mode is active.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Operator action: install a valid origin certificate or relax SSL mode.",commonCauses:["Expired or self-signed origin cert","Hostname mismatch"],relatedStatuses:[525]}},527:{code:527,phrase:"Railgun Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:`${r}#error-527-railgun-listener-to-origin`,description:"Indicates an error connecting between Cloudflare and the origin's Railgun (rwengine) server.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:true,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Retry; Railgun is largely deprecated in favor of Argo Smart Routing.",commonCauses:["Railgun listener unreachable."],relatedStatuses:[]}},530:{code:530,phrase:"Origin DNS Error",category:"Vendor Extension",source:"Cloudflare",rfc:null,specUrl:"https://developers.cloudflare.com/support/troubleshooting/cloudflare-errors/troubleshooting-cloudflare-1xxx-errors/",description:"A 530 response is typically returned alongside a Cloudflare 1xxx error displayed in the body, indicating an origin DNS or worker failure.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"exponential-backoff",agentAction:"Inspect the body for the embedded 1xxx code; resolve DNS or Worker error.",commonCauses:["Origin DNS resolution failure","Worker script error"],relatedStatuses:[523]}}};var g={NO_RESPONSE:444,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,CLIENT_CLOSED_REQUEST:499},o={444:{code:444,phrase:"No Response",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#return",description:'Nginx-specific code instructing the server to close the connection without sending any response headers (used via "return 444;").',expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a deliberate drop; do not retry the same request.",commonCauses:["Anti-abuse rule","Malformed request blocked at the edge"],relatedStatuses:[]}},494:{code:494,phrase:"Request Header Too Large",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers",description:"Nginx-specific code returned when the request headers exceed large_client_header_buffers.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim headers/cookies and retry.",commonCauses:["Oversized cookie jar","Long Authorization header"],relatedStatuses:[431]}},495:{code:495,phrase:"SSL Certificate Error",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when client certificate verification fails.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Provide a valid client certificate and retry.",commonCauses:["Expired or untrusted client certificate."],relatedStatuses:[496]}},496:{code:496,phrase:"SSL Certificate Required",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when a client certificate was required but not provided.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Attach a client certificate to the TLS connection and retry.",commonCauses:["Mutual TLS endpoint reached without a client cert."],relatedStatuses:[495]}},497:{code:497,phrase:"HTTP Request Sent to HTTPS Port",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#errors",description:"Nginx-specific code returned when a plain HTTP request is sent to an HTTPS port.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Reissue the request over HTTPS.",commonCauses:["Client used http:// against an https-only port."],relatedStatuses:[426]}},499:{code:499,phrase:"Client Closed Request",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html",description:"Nginx-specific code logged when the client closes the connection while the server is still processing the request.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"No action; this code is observed in access logs, not received by the client.",commonCauses:["Client aborted the request","Network drop"],relatedStatuses:[408]}}};var n=Object.freeze({...a,...s,...o}),S=t=>n[t];var c=t=>t>=100&&t<200,C=t=>t>=200&&t<300,T=t=>t>=300&&t<400,v=t=>t>=400&&t<500,x=t=>t>=500&&t<600,q=t=>t>=400,l=new Set([408,421,425,426,429,500,502,503,504,507,511,520,521,522,523,524,527,530,497]),I=t=>l.has(t),d=new Set([204,205,304,444,499]),N=t=>c(t)||d.has(t),i=new Set([200,203,204,206,226,300,301,308,404,405,410,414,501]),U=t=>i.has(t)?"heuristic":"uncacheable",F=t=>i.has(t),u=new Set([401,407,496,511]),w=t=>u.has(t);
export{s as CloudflareRegistry,f as CloudflareStatus,n as CompleteRegistry,a as IanaRegistry,p as IanaStatus,o as NginxRegistry,g as NginxStatus,U as cacheability,S as getMetadata,N as hasEmptyBody,F as isCacheable,v as isClientError,q as isError,c as isInformational,T as isRedirection,I as isRetryable,x as isServerError,C as isSuccess,w as requiresAuth};

@@ -9,3 +9,3 @@ # @master4n/http-status

- [http-status-registry.json](https://unpkg.com/@master4n/http-status@2/http-status-registry.json): full, sorted, pretty-printed registry. Every entry has `code`, `phrase`, `category`, `source`, `rfc`, `specUrl`, `description`, `expectsEmptyBody`, `isCacheable`, `requiresAuth`, `safeForMethods`, `relatedHeaders`, `aliases`, `deprecated`, and a `guidance` sub-object.
- [http-status-registry.json](https://unpkg.com/@master4n/http-status@2/http-status-registry.json): full, sorted, pretty-printed registry. Every entry has `code`, `phrase`, `category`, `source`, `rfc`, `specUrl`, `description`, `expectsEmptyBody`, `cacheability` (`'heuristic'` | `'uncacheable'`; was `isCacheable` in ≤2.0.0), `requiresAuth`, `safeForMethods`, `relatedHeaders`, `aliases`, `deprecated`, and a `guidance` sub-object.
- [Mirror on jsDelivr](https://cdn.jsdelivr.net/npm/@master4n/http-status@2/http-status-registry.json): same content via a different CDN.

@@ -27,3 +27,3 @@

- Tree-shakable sub-paths: `@master4n/http-status/iana`, `/cloudflare`, `/nginx`, `/utils`.
- Predicates in `/utils` (`isRetryable`, `hasEmptyBody`, `isCacheable`, `requiresAuth`, plus the 1xx–5xx range checks) are pure functions over the status code — they do not load any registry data, so bundlers tree-shake them down to under 1 KB. For full per-code metadata (RFC, specUrl, guidance block, etc.) call `getMetadata(code)` from the package root (`@master4n/http-status`).
- Predicates in `/utils` (`isRetryable`, `hasEmptyBody`, `isCacheable` (boolean), `cacheability` (`'heuristic'`|`'uncacheable'`), `requiresAuth`, plus the 1xx–5xx range checks) are pure functions over the status code — they do not load any registry data, so bundlers tree-shake them down to under 1 KB. For full per-code metadata (RFC, specUrl, guidance block, etc.) call `getMetadata(code)` from the package root (`@master4n/http-status`).

@@ -30,0 +30,0 @@ ## Source

@@ -1,2 +0,2 @@

'use strict';var e={NO_RESPONSE:444,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,CLIENT_CLOSED_REQUEST:499},t={444:{code:444,phrase:"No Response",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#return",description:'Nginx-specific code instructing the server to close the connection without sending any response headers (used via "return 444;").',expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a deliberate drop; do not retry the same request.",commonCauses:["Anti-abuse rule","Malformed request blocked at the edge"],relatedStatuses:[]}},494:{code:494,phrase:"Request Header Too Large",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers",description:"Nginx-specific code returned when the request headers exceed large_client_header_buffers.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim headers/cookies and retry.",commonCauses:["Oversized cookie jar","Long Authorization header"],relatedStatuses:[431]}},495:{code:495,phrase:"SSL Certificate Error",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when client certificate verification fails.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Provide a valid client certificate and retry.",commonCauses:["Expired or untrusted client certificate."],relatedStatuses:[496]}},496:{code:496,phrase:"SSL Certificate Required",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when a client certificate was required but not provided.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Attach a client certificate to the TLS connection and retry.",commonCauses:["Mutual TLS endpoint reached without a client cert."],relatedStatuses:[495]}},497:{code:497,phrase:"HTTP Request Sent to HTTPS Port",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#errors",description:"Nginx-specific code returned when a plain HTTP request is sent to an HTTPS port.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Reissue the request over HTTPS.",commonCauses:["Client used http:// against an https-only port."],relatedStatuses:[426]}},499:{code:499,phrase:"Client Closed Request",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html",description:"Nginx-specific code logged when the client closes the connection while the server is still processing the request.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"No action; this code is observed in access logs, not received by the client.",commonCauses:["Client aborted the request","Network drop"],relatedStatuses:[408]}}};
'use strict';var e={NO_RESPONSE:444,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,CLIENT_CLOSED_REQUEST:499},t={444:{code:444,phrase:"No Response",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#return",description:'Nginx-specific code instructing the server to close the connection without sending any response headers (used via "return 444;").',expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a deliberate drop; do not retry the same request.",commonCauses:["Anti-abuse rule","Malformed request blocked at the edge"],relatedStatuses:[]}},494:{code:494,phrase:"Request Header Too Large",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers",description:"Nginx-specific code returned when the request headers exceed large_client_header_buffers.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim headers/cookies and retry.",commonCauses:["Oversized cookie jar","Long Authorization header"],relatedStatuses:[431]}},495:{code:495,phrase:"SSL Certificate Error",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when client certificate verification fails.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Provide a valid client certificate and retry.",commonCauses:["Expired or untrusted client certificate."],relatedStatuses:[496]}},496:{code:496,phrase:"SSL Certificate Required",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when a client certificate was required but not provided.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Attach a client certificate to the TLS connection and retry.",commonCauses:["Mutual TLS endpoint reached without a client cert."],relatedStatuses:[495]}},497:{code:497,phrase:"HTTP Request Sent to HTTPS Port",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#errors",description:"Nginx-specific code returned when a plain HTTP request is sent to an HTTPS port.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Reissue the request over HTTPS.",commonCauses:["Client used http:// against an https-only port."],relatedStatuses:[426]}},499:{code:499,phrase:"Client Closed Request",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html",description:"Nginx-specific code logged when the client closes the connection while the server is still processing the request.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"No action; this code is observed in access logs, not received by the client.",commonCauses:["Client aborted the request","Network drop"],relatedStatuses:[408]}}};
exports.NginxRegistry=t;exports.NginxStatus=e;

@@ -1,2 +0,2 @@

import { c as HttpStatusMetadata } from '../types-D9bAZ7ge.cjs';
import { c as HttpStatusMetadata } from '../types-4vBUR0dr.cjs';

@@ -3,0 +3,0 @@ declare const NginxStatus: {

@@ -1,2 +0,2 @@

import { c as HttpStatusMetadata } from '../types-D9bAZ7ge.js';
import { c as HttpStatusMetadata } from '../types-4vBUR0dr.js';

@@ -3,0 +3,0 @@ declare const NginxStatus: {

@@ -1,2 +0,2 @@

var e={NO_RESPONSE:444,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,CLIENT_CLOSED_REQUEST:499},t={444:{code:444,phrase:"No Response",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#return",description:'Nginx-specific code instructing the server to close the connection without sending any response headers (used via "return 444;").',expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a deliberate drop; do not retry the same request.",commonCauses:["Anti-abuse rule","Malformed request blocked at the edge"],relatedStatuses:[]}},494:{code:494,phrase:"Request Header Too Large",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers",description:"Nginx-specific code returned when the request headers exceed large_client_header_buffers.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim headers/cookies and retry.",commonCauses:["Oversized cookie jar","Long Authorization header"],relatedStatuses:[431]}},495:{code:495,phrase:"SSL Certificate Error",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when client certificate verification fails.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Provide a valid client certificate and retry.",commonCauses:["Expired or untrusted client certificate."],relatedStatuses:[496]}},496:{code:496,phrase:"SSL Certificate Required",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when a client certificate was required but not provided.",expectsEmptyBody:false,isCacheable:false,requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Attach a client certificate to the TLS connection and retry.",commonCauses:["Mutual TLS endpoint reached without a client cert."],relatedStatuses:[495]}},497:{code:497,phrase:"HTTP Request Sent to HTTPS Port",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#errors",description:"Nginx-specific code returned when a plain HTTP request is sent to an HTTPS port.",expectsEmptyBody:false,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Reissue the request over HTTPS.",commonCauses:["Client used http:// against an https-only port."],relatedStatuses:[426]}},499:{code:499,phrase:"Client Closed Request",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html",description:"Nginx-specific code logged when the client closes the connection while the server is still processing the request.",expectsEmptyBody:true,isCacheable:false,requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"No action; this code is observed in access logs, not received by the client.",commonCauses:["Client aborted the request","Network drop"],relatedStatuses:[408]}}};
var e={NO_RESPONSE:444,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,CLIENT_CLOSED_REQUEST:499},t={444:{code:444,phrase:"No Response",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#return",description:'Nginx-specific code instructing the server to close the connection without sending any response headers (used via "return 444;").',expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Treat as a deliberate drop; do not retry the same request.",commonCauses:["Anti-abuse rule","Malformed request blocked at the edge"],relatedStatuses:[]}},494:{code:494,phrase:"Request Header Too Large",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers",description:"Nginx-specific code returned when the request headers exceed large_client_header_buffers.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Trim headers/cookies and retry.",commonCauses:["Oversized cookie jar","Long Authorization header"],relatedStatuses:[431]}},495:{code:495,phrase:"SSL Certificate Error",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when client certificate verification fails.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Provide a valid client certificate and retry.",commonCauses:["Expired or untrusted client certificate."],relatedStatuses:[496]}},496:{code:496,phrase:"SSL Certificate Required",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client",description:"Nginx-specific code returned when a client certificate was required but not provided.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:true,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"Attach a client certificate to the TLS connection and retry.",commonCauses:["Mutual TLS endpoint reached without a client cert."],relatedStatuses:[495]}},497:{code:497,phrase:"HTTP Request Sent to HTTPS Port",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_ssl_module.html#errors",description:"Nginx-specific code returned when a plain HTTP request is sent to an HTTPS port.",expectsEmptyBody:false,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:true,retryStrategy:"immediate",agentAction:"Reissue the request over HTTPS.",commonCauses:["Client used http:// against an https-only port."],relatedStatuses:[426]}},499:{code:499,phrase:"Client Closed Request",category:"Vendor Extension",source:"Nginx",rfc:null,specUrl:"https://nginx.org/en/docs/http/ngx_http_core_module.html",description:"Nginx-specific code logged when the client closes the connection while the server is still processing the request.",expectsEmptyBody:true,cacheability:"uncacheable",requiresAuth:false,safeForMethods:"all",relatedHeaders:[],aliases:[],deprecated:false,guidance:{isRetryable:false,retryStrategy:"never",agentAction:"No action; this code is observed in access logs, not received by the client.",commonCauses:["Client aborted the request","Network drop"],relatedStatuses:[408]}}};
export{t as NginxRegistry,e as NginxStatus};
{
"name": "@master4n/http-status",
"version": "2.0.0",
"version": "2.0.1",
"description": "The machine-readable HTTP status registry, optimised for AI agents and RAG pipelines.",

@@ -5,0 +5,0 @@ "type": "module",

@@ -119,3 +119,3 @@ # @master4n/http-status

expectsEmptyBody: boolean; // RFC 9110: body MUST be empty
isCacheable: boolean | 'heuristic'; // RFC 9111 §4.2.2
cacheability: 'heuristic' | 'uncacheable'; // RFC 9111 §4.2.2 (was `isCacheable` in ≤2.0.0)
requiresAuth: boolean;

@@ -122,0 +122,0 @@ safeForMethods: HttpMethod[] | 'all';

@@ -1,1 +0,1 @@

'use strict';var n=e=>e>=100&&e<200,b=e=>e>=200&&e<300,a=e=>e>=300&&e<400,u=e=>e>=400&&e<500,i=e=>e>=500&&e<600,m=e=>e>=400,o=new Set([408,421,425,426,429,500,502,503,504,507,511,520,521,522,523,524,527,530,497]),E=e=>o.has(e),r=new Set([204,205,304,444,499]),l=e=>n(e)||r.has(e),t=new Set([200,203,204,206,226,300,301,308,404,405,410,414,501]),c=e=>t.has(e)?"heuristic":false,s=new Set([401,407,496,511]),p=e=>s.has(e);exports.hasEmptyBody=l;exports.isCacheable=c;exports.isClientError=u;exports.isError=m;exports.isInformational=n;exports.isRedirection=a;exports.isRetryable=E;exports.isServerError=i;exports.isSuccess=b;exports.requiresAuth=p;
'use strict';var n=e=>e>=100&&e<200,b=e=>e>=200&&e<300,a=e=>e>=300&&e<400,i=e=>e>=400&&e<500,c=e=>e>=500&&e<600,m=e=>e>=400,r=new Set([408,421,425,426,429,500,502,503,504,507,511,520,521,522,523,524,527,530,497]),u=e=>r.has(e),t=new Set([204,205,304,444,499]),l=e=>n(e)||t.has(e),o=new Set([200,203,204,206,226,300,301,308,404,405,410,414,501]),p=e=>o.has(e)?"heuristic":"uncacheable",E=e=>o.has(e),s=new Set([401,407,496,511]),h=e=>s.has(e);exports.cacheability=p;exports.hasEmptyBody=l;exports.isCacheable=E;exports.isClientError=i;exports.isError=m;exports.isInformational=n;exports.isRedirection=a;exports.isRetryable=u;exports.isServerError=c;exports.isSuccess=b;exports.requiresAuth=h;

@@ -0,1 +1,3 @@

import { C as Cacheability } from '../types-4vBUR0dr.cjs';
/**

@@ -7,2 +9,9 @@ * Pure, data-free predicates. This module deliberately does NOT import any

* (or from `@master4n/http-status` / `/iana` / etc.).
*
* Input contract: every predicate expects a real HTTP status code — a finite
* integer, typically 100–599. They are intentionally branch-free and do **not**
* validate the domain, so out-of-range or non-integer inputs return a defined
* but meaningless result (e.g. `isError(999) === true`, `isError(NaN) === false`).
* Validate untrusted input before calling, or use `getMetadata(code)` (returns
* `undefined` for unknown codes) when you need to know a code is real.
*/

@@ -26,9 +35,26 @@ declare const isInformational: (code: number) => boolean;

declare const hasEmptyBody: (code: number) => boolean;
/**
* Returns the cacheability classification per RFC 9111 §4.2.2. The codes
* enumerated there are "heuristically cacheable"; all other codes are not
* cacheable by default.
* Precise cacheability classification per RFC 9111 §4.2.2. Returns `'heuristic'`
* for the status codes that a cache MAY store without explicit freshness
* headers, and `'uncacheable'` for everything else. (No status code is
* unconditionally cacheable on its own — explicit `Cache-Control`/`Expires`
* headers always govern; this classifies what is cacheable by *status alone*.)
*
* @example
* cacheability(200); // 'heuristic'
* cacheability(500); // 'uncacheable'
*/
declare const isCacheable: (code: number) => boolean | "heuristic";
declare const cacheability: (code: number) => Cacheability;
/**
* Boolean predicate: `true` when the status code is heuristically cacheable per
* RFC 9111 §4.2.2 (cacheable by status alone, without explicit freshness
* headers). For the precise classification, use {@link cacheability}.
*
* @remarks Changed in 2.0.1: previously returned `boolean | 'heuristic'` (the
* string `'heuristic'` or `false`). It now returns a plain `boolean`, consistent
* with the other `is*` predicates; use {@link cacheability} for the string form.
*/
declare const isCacheable: (code: number) => boolean;
/**
* Returns true when the status mandates an authentication challenge (401,

@@ -39,2 +65,2 @@ * 407, Nginx 496, 511).

export { hasEmptyBody, isCacheable, isClientError, isError, isInformational, isRedirection, isRetryable, isServerError, isSuccess, requiresAuth };
export { Cacheability, cacheability, hasEmptyBody, isCacheable, isClientError, isError, isInformational, isRedirection, isRetryable, isServerError, isSuccess, requiresAuth };

@@ -0,1 +1,3 @@

import { C as Cacheability } from '../types-4vBUR0dr.js';
/**

@@ -7,2 +9,9 @@ * Pure, data-free predicates. This module deliberately does NOT import any

* (or from `@master4n/http-status` / `/iana` / etc.).
*
* Input contract: every predicate expects a real HTTP status code — a finite
* integer, typically 100–599. They are intentionally branch-free and do **not**
* validate the domain, so out-of-range or non-integer inputs return a defined
* but meaningless result (e.g. `isError(999) === true`, `isError(NaN) === false`).
* Validate untrusted input before calling, or use `getMetadata(code)` (returns
* `undefined` for unknown codes) when you need to know a code is real.
*/

@@ -26,9 +35,26 @@ declare const isInformational: (code: number) => boolean;

declare const hasEmptyBody: (code: number) => boolean;
/**
* Returns the cacheability classification per RFC 9111 §4.2.2. The codes
* enumerated there are "heuristically cacheable"; all other codes are not
* cacheable by default.
* Precise cacheability classification per RFC 9111 §4.2.2. Returns `'heuristic'`
* for the status codes that a cache MAY store without explicit freshness
* headers, and `'uncacheable'` for everything else. (No status code is
* unconditionally cacheable on its own — explicit `Cache-Control`/`Expires`
* headers always govern; this classifies what is cacheable by *status alone*.)
*
* @example
* cacheability(200); // 'heuristic'
* cacheability(500); // 'uncacheable'
*/
declare const isCacheable: (code: number) => boolean | "heuristic";
declare const cacheability: (code: number) => Cacheability;
/**
* Boolean predicate: `true` when the status code is heuristically cacheable per
* RFC 9111 §4.2.2 (cacheable by status alone, without explicit freshness
* headers). For the precise classification, use {@link cacheability}.
*
* @remarks Changed in 2.0.1: previously returned `boolean | 'heuristic'` (the
* string `'heuristic'` or `false`). It now returns a plain `boolean`, consistent
* with the other `is*` predicates; use {@link cacheability} for the string form.
*/
declare const isCacheable: (code: number) => boolean;
/**
* Returns true when the status mandates an authentication challenge (401,

@@ -39,2 +65,2 @@ * 407, Nginx 496, 511).

export { hasEmptyBody, isCacheable, isClientError, isError, isInformational, isRedirection, isRetryable, isServerError, isSuccess, requiresAuth };
export { Cacheability, cacheability, hasEmptyBody, isCacheable, isClientError, isError, isInformational, isRedirection, isRetryable, isServerError, isSuccess, requiresAuth };

@@ -1,1 +0,1 @@

var n=e=>e>=100&&e<200,b=e=>e>=200&&e<300,a=e=>e>=300&&e<400,u=e=>e>=400&&e<500,i=e=>e>=500&&e<600,m=e=>e>=400,o=new Set([408,421,425,426,429,500,502,503,504,507,511,520,521,522,523,524,527,530,497]),E=e=>o.has(e),r=new Set([204,205,304,444,499]),l=e=>n(e)||r.has(e),t=new Set([200,203,204,206,226,300,301,308,404,405,410,414,501]),c=e=>t.has(e)?"heuristic":false,s=new Set([401,407,496,511]),p=e=>s.has(e);export{l as hasEmptyBody,c as isCacheable,u as isClientError,m as isError,n as isInformational,a as isRedirection,E as isRetryable,i as isServerError,b as isSuccess,p as requiresAuth};
var n=e=>e>=100&&e<200,b=e=>e>=200&&e<300,a=e=>e>=300&&e<400,i=e=>e>=400&&e<500,c=e=>e>=500&&e<600,m=e=>e>=400,r=new Set([408,421,425,426,429,500,502,503,504,507,511,520,521,522,523,524,527,530,497]),u=e=>r.has(e),t=new Set([204,205,304,444,499]),l=e=>n(e)||t.has(e),o=new Set([200,203,204,206,226,300,301,308,404,405,410,414,501]),p=e=>o.has(e)?"heuristic":"uncacheable",E=e=>o.has(e),s=new Set([401,407,496,511]),h=e=>s.has(e);export{p as cacheability,l as hasEmptyBody,E as isCacheable,i as isClientError,m as isError,n as isInformational,a as isRedirection,u as isRetryable,c as isServerError,b as isSuccess,h as requiresAuth};
type HttpStatusCategory = 'Informational' | 'Success' | 'Redirection' | 'Client Error' | 'Server Error' | 'Vendor Extension';
type HttpStatusSource = 'IANA' | 'Cloudflare' | 'Nginx';
type HttpMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'CONNECT' | 'TRACE';
type RetryStrategy = 'never' | 'immediate' | 'exponential-backoff' | 'respect-retry-after';
interface RelatedHeader {
readonly name: string;
readonly required: boolean;
readonly purpose: string;
}
/**
* Authored guidance. NOT derived from the spec. Treat as recommendation, not normative fact.
*/
interface HttpStatusGuidance {
readonly isRetryable: boolean;
readonly retryStrategy: RetryStrategy;
readonly agentAction: string;
readonly commonCauses: readonly string[];
readonly relatedStatuses: readonly number[];
}
/**
* Spec-derivable metadata. Every field is backed by `specUrl`.
*/
interface HttpStatusMetadata {
readonly code: number;
readonly phrase: string;
readonly category: HttpStatusCategory;
readonly source: HttpStatusSource;
readonly rfc: string | null;
readonly specUrl: string;
readonly description: string;
readonly expectsEmptyBody: boolean;
readonly isCacheable: boolean | 'heuristic';
readonly requiresAuth: boolean;
readonly safeForMethods: readonly HttpMethod[] | 'all';
readonly relatedHeaders: readonly RelatedHeader[];
readonly aliases: readonly string[];
readonly deprecated: boolean;
readonly guidance: HttpStatusGuidance;
}
type HttpStatusRegistryMap = Readonly<Record<number, HttpStatusMetadata>>;
export type { HttpMethod as H, RelatedHeader as R, HttpStatusCategory as a, HttpStatusGuidance as b, HttpStatusMetadata as c, HttpStatusRegistryMap as d, HttpStatusSource as e, RetryStrategy as f };
type HttpStatusCategory = 'Informational' | 'Success' | 'Redirection' | 'Client Error' | 'Server Error' | 'Vendor Extension';
type HttpStatusSource = 'IANA' | 'Cloudflare' | 'Nginx';
type HttpMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'CONNECT' | 'TRACE';
type RetryStrategy = 'never' | 'immediate' | 'exponential-backoff' | 'respect-retry-after';
interface RelatedHeader {
readonly name: string;
readonly required: boolean;
readonly purpose: string;
}
/**
* Authored guidance. NOT derived from the spec. Treat as recommendation, not normative fact.
*/
interface HttpStatusGuidance {
readonly isRetryable: boolean;
readonly retryStrategy: RetryStrategy;
readonly agentAction: string;
readonly commonCauses: readonly string[];
readonly relatedStatuses: readonly number[];
}
/**
* Spec-derivable metadata. Every field is backed by `specUrl`.
*/
interface HttpStatusMetadata {
readonly code: number;
readonly phrase: string;
readonly category: HttpStatusCategory;
readonly source: HttpStatusSource;
readonly rfc: string | null;
readonly specUrl: string;
readonly description: string;
readonly expectsEmptyBody: boolean;
readonly isCacheable: boolean | 'heuristic';
readonly requiresAuth: boolean;
readonly safeForMethods: readonly HttpMethod[] | 'all';
readonly relatedHeaders: readonly RelatedHeader[];
readonly aliases: readonly string[];
readonly deprecated: boolean;
readonly guidance: HttpStatusGuidance;
}
type HttpStatusRegistryMap = Readonly<Record<number, HttpStatusMetadata>>;
export type { HttpMethod as H, RelatedHeader as R, HttpStatusCategory as a, HttpStatusGuidance as b, HttpStatusMetadata as c, HttpStatusRegistryMap as d, HttpStatusSource as e, RetryStrategy as f };

Sorry, the diff of this file is too big to display