@master4n/http-status
Advanced tools
+48
| # Changelog | ||
| ## 2.0.0 — BREAKING | ||
| This is a clean break from v1. The library has been repositioned as a machine-readable HTTP status registry optimised for AI agents and RAG pipelines. | ||
| ### Removed | ||
| - The `HttpStatus` class (and its instance shape `{ name, value }`). Methods `HttpStatus.valueOf()` and `HttpStatus.values()` are removed. | ||
| ### Added | ||
| - `IanaStatus`, `CloudflareStatus`, `NginxStatus` — immutable `as const` objects mapping names to numeric codes. | ||
| - `IanaRegistry`, `CloudflareRegistry`, `NginxRegistry`, `CompleteRegistry` — `Record<number, HttpStatusMetadata>` with full per-code metadata. | ||
| - `HttpStatusMetadata` interface — spec-derivable top-level fields (`code`, `phrase`, `category`, `source`, `rfc`, `specUrl`, `description`, `expectsEmptyBody`, `isCacheable`, `requiresAuth`, `safeForMethods`, `relatedHeaders`, `aliases`, `deprecated`) plus an authored `guidance: {...}` sub-object (`isRetryable`, `retryStrategy`, `agentAction`, `commonCauses`, `relatedStatuses`). | ||
| - Predicates in `/utils`: `isInformational`, `isSuccess`, `isRedirection`, `isClientError`, `isServerError`, `isError`, `isRetryable`, `hasEmptyBody`, `isCacheable`, `requiresAuth`, `getMetadata`. | ||
| - Tree-shakable sub-paths: `@master4n/http-status/iana`, `/cloudflare`, `/nginx`, `/utils`. | ||
| - Pre-built JSON registry at the package root (`./registry.json` export, also reachable via unpkg/jsDelivr CDN URLs). | ||
| - `llms.txt` discovery file at the package root. | ||
| - Coverage expanded from ~50 to **77 codes** (62 IANA + 9 Cloudflare + 6 Nginx), each cited to an RFC or vendor doc URL. | ||
| ### Migration | ||
| | v1 | v2 | | ||
| |---------------------------------|---------------------------------------------------------------| | ||
| | `HttpStatus.OK.value` | `IanaStatus.OK` | | ||
| | `HttpStatus.OK.name` | `IanaRegistry[IanaStatus.OK].phrase` | | ||
| | `HttpStatus.valueOf(200)` | `IanaRegistry[200].phrase` (or `getMetadata(200)?.phrase`) | | ||
| | `HttpStatus.values()` | `Object.keys(IanaStatus)` | | ||
| Import-path changes: | ||
| ```ts | ||
| // v1 | ||
| import { HttpStatus } from '@master4n/http-status'; | ||
| // v2 | ||
| import { IanaStatus, IanaRegistry } from '@master4n/http-status/iana'; | ||
| import { isRetryable } from '@master4n/http-status/utils'; | ||
| ``` | ||
| ### Build & tooling | ||
| - Replaced Rollup with `tsup` for dual ESM/CJS + `.d.ts` emission. | ||
| - Added `vitest` for testing (coverage, predicates, manifest, treeshake suites). | ||
| - Published from `dist/` as before; the dev `package.json` and the published `package.json` are now distinct (dev has scripts/devDependencies; published has `exports`, `sideEffects: false`, and dist-relative paths). | ||
| - Added `prepare-publish.ts` that writes the stripped runtime manifest into `dist/` and copies `README.md`, `LICENSE`, `CHANGELOG.md`, `llms.txt`. | ||
| - Added `build-manifest.ts` that writes the sorted JSON registry into `dist/http-status-registry.json`. |
| '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]}}}; | ||
| exports.CloudflareRegistry=t;exports.CloudflareStatus=r; |
| import { c as HttpStatusMetadata } from '../types-D9bAZ7ge.cjs'; | ||
| declare const CloudflareStatus: { | ||
| readonly WEB_SERVER_RETURNED_UNKNOWN_ERROR: 520; | ||
| readonly WEB_SERVER_IS_DOWN: 521; | ||
| readonly CONNECTION_TIMED_OUT: 522; | ||
| readonly ORIGIN_IS_UNREACHABLE: 523; | ||
| readonly TIMEOUT_OCCURRED: 524; | ||
| readonly SSL_HANDSHAKE_FAILED: 525; | ||
| readonly INVALID_SSL_CERTIFICATE: 526; | ||
| readonly RAILGUN_ERROR: 527; | ||
| readonly ORIGIN_DNS_ERROR: 530; | ||
| }; | ||
| type CloudflareStatusCode = (typeof CloudflareStatus)[keyof typeof CloudflareStatus]; | ||
| type CloudflareStatusName = keyof typeof CloudflareStatus; | ||
| declare const CloudflareRegistry: Readonly<Record<CloudflareStatusCode, HttpStatusMetadata>>; | ||
| export { CloudflareRegistry, CloudflareStatus, type CloudflareStatusCode, type CloudflareStatusName }; |
| import { c as HttpStatusMetadata } from '../types-D9bAZ7ge.js'; | ||
| declare const CloudflareStatus: { | ||
| readonly WEB_SERVER_RETURNED_UNKNOWN_ERROR: 520; | ||
| readonly WEB_SERVER_IS_DOWN: 521; | ||
| readonly CONNECTION_TIMED_OUT: 522; | ||
| readonly ORIGIN_IS_UNREACHABLE: 523; | ||
| readonly TIMEOUT_OCCURRED: 524; | ||
| readonly SSL_HANDSHAKE_FAILED: 525; | ||
| readonly INVALID_SSL_CERTIFICATE: 526; | ||
| readonly RAILGUN_ERROR: 527; | ||
| readonly ORIGIN_DNS_ERROR: 530; | ||
| }; | ||
| type CloudflareStatusCode = (typeof CloudflareStatus)[keyof typeof CloudflareStatus]; | ||
| type CloudflareStatusName = keyof typeof CloudflareStatus; | ||
| declare const CloudflareRegistry: Readonly<Record<CloudflareStatusCode, HttpStatusMetadata>>; | ||
| export { CloudflareRegistry, CloudflareStatus, type CloudflareStatusCode, type CloudflareStatusName }; |
| 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]}}}; | ||
| export{t as CloudflareRegistry,r as CloudflareStatus}; |
Sorry, the diff of this file is too big to display
| '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]}}}; | ||
| exports.IanaRegistry=a;exports.IanaStatus=r; |
| import { c as HttpStatusMetadata } from '../types-D9bAZ7ge.cjs'; | ||
| declare const IanaStatus: { | ||
| readonly CONTINUE: 100; | ||
| readonly SWITCHING_PROTOCOLS: 101; | ||
| readonly PROCESSING: 102; | ||
| readonly EARLY_HINTS: 103; | ||
| readonly OK: 200; | ||
| readonly CREATED: 201; | ||
| readonly ACCEPTED: 202; | ||
| readonly NON_AUTHORITATIVE_INFORMATION: 203; | ||
| readonly NO_CONTENT: 204; | ||
| readonly RESET_CONTENT: 205; | ||
| readonly PARTIAL_CONTENT: 206; | ||
| readonly MULTI_STATUS: 207; | ||
| readonly ALREADY_REPORTED: 208; | ||
| readonly IM_USED: 226; | ||
| readonly MULTIPLE_CHOICES: 300; | ||
| readonly MOVED_PERMANENTLY: 301; | ||
| readonly FOUND: 302; | ||
| readonly SEE_OTHER: 303; | ||
| readonly NOT_MODIFIED: 304; | ||
| readonly USE_PROXY: 305; | ||
| readonly TEMPORARY_REDIRECT: 307; | ||
| readonly PERMANENT_REDIRECT: 308; | ||
| readonly BAD_REQUEST: 400; | ||
| readonly UNAUTHORIZED: 401; | ||
| readonly PAYMENT_REQUIRED: 402; | ||
| readonly FORBIDDEN: 403; | ||
| readonly NOT_FOUND: 404; | ||
| readonly METHOD_NOT_ALLOWED: 405; | ||
| readonly NOT_ACCEPTABLE: 406; | ||
| readonly PROXY_AUTHENTICATION_REQUIRED: 407; | ||
| readonly REQUEST_TIMEOUT: 408; | ||
| readonly CONFLICT: 409; | ||
| readonly GONE: 410; | ||
| readonly LENGTH_REQUIRED: 411; | ||
| readonly PRECONDITION_FAILED: 412; | ||
| readonly CONTENT_TOO_LARGE: 413; | ||
| readonly URI_TOO_LONG: 414; | ||
| readonly UNSUPPORTED_MEDIA_TYPE: 415; | ||
| readonly RANGE_NOT_SATISFIABLE: 416; | ||
| readonly EXPECTATION_FAILED: 417; | ||
| readonly IM_A_TEAPOT: 418; | ||
| readonly MISDIRECTED_REQUEST: 421; | ||
| readonly UNPROCESSABLE_CONTENT: 422; | ||
| readonly LOCKED: 423; | ||
| readonly FAILED_DEPENDENCY: 424; | ||
| readonly TOO_EARLY: 425; | ||
| readonly UPGRADE_REQUIRED: 426; | ||
| readonly PRECONDITION_REQUIRED: 428; | ||
| readonly TOO_MANY_REQUESTS: 429; | ||
| readonly REQUEST_HEADER_FIELDS_TOO_LARGE: 431; | ||
| readonly UNAVAILABLE_FOR_LEGAL_REASONS: 451; | ||
| readonly INTERNAL_SERVER_ERROR: 500; | ||
| readonly NOT_IMPLEMENTED: 501; | ||
| readonly BAD_GATEWAY: 502; | ||
| readonly SERVICE_UNAVAILABLE: 503; | ||
| readonly GATEWAY_TIMEOUT: 504; | ||
| readonly HTTP_VERSION_NOT_SUPPORTED: 505; | ||
| readonly VARIANT_ALSO_NEGOTIATES: 506; | ||
| readonly INSUFFICIENT_STORAGE: 507; | ||
| readonly LOOP_DETECTED: 508; | ||
| readonly NOT_EXTENDED: 510; | ||
| readonly NETWORK_AUTHENTICATION_REQUIRED: 511; | ||
| }; | ||
| type IanaStatusCode = (typeof IanaStatus)[keyof typeof IanaStatus]; | ||
| type IanaStatusName = keyof typeof IanaStatus; | ||
| declare const IanaRegistry: Readonly<Record<IanaStatusCode, HttpStatusMetadata>>; | ||
| export { IanaRegistry, IanaStatus, type IanaStatusCode, type IanaStatusName }; |
| import { c as HttpStatusMetadata } from '../types-D9bAZ7ge.js'; | ||
| declare const IanaStatus: { | ||
| readonly CONTINUE: 100; | ||
| readonly SWITCHING_PROTOCOLS: 101; | ||
| readonly PROCESSING: 102; | ||
| readonly EARLY_HINTS: 103; | ||
| readonly OK: 200; | ||
| readonly CREATED: 201; | ||
| readonly ACCEPTED: 202; | ||
| readonly NON_AUTHORITATIVE_INFORMATION: 203; | ||
| readonly NO_CONTENT: 204; | ||
| readonly RESET_CONTENT: 205; | ||
| readonly PARTIAL_CONTENT: 206; | ||
| readonly MULTI_STATUS: 207; | ||
| readonly ALREADY_REPORTED: 208; | ||
| readonly IM_USED: 226; | ||
| readonly MULTIPLE_CHOICES: 300; | ||
| readonly MOVED_PERMANENTLY: 301; | ||
| readonly FOUND: 302; | ||
| readonly SEE_OTHER: 303; | ||
| readonly NOT_MODIFIED: 304; | ||
| readonly USE_PROXY: 305; | ||
| readonly TEMPORARY_REDIRECT: 307; | ||
| readonly PERMANENT_REDIRECT: 308; | ||
| readonly BAD_REQUEST: 400; | ||
| readonly UNAUTHORIZED: 401; | ||
| readonly PAYMENT_REQUIRED: 402; | ||
| readonly FORBIDDEN: 403; | ||
| readonly NOT_FOUND: 404; | ||
| readonly METHOD_NOT_ALLOWED: 405; | ||
| readonly NOT_ACCEPTABLE: 406; | ||
| readonly PROXY_AUTHENTICATION_REQUIRED: 407; | ||
| readonly REQUEST_TIMEOUT: 408; | ||
| readonly CONFLICT: 409; | ||
| readonly GONE: 410; | ||
| readonly LENGTH_REQUIRED: 411; | ||
| readonly PRECONDITION_FAILED: 412; | ||
| readonly CONTENT_TOO_LARGE: 413; | ||
| readonly URI_TOO_LONG: 414; | ||
| readonly UNSUPPORTED_MEDIA_TYPE: 415; | ||
| readonly RANGE_NOT_SATISFIABLE: 416; | ||
| readonly EXPECTATION_FAILED: 417; | ||
| readonly IM_A_TEAPOT: 418; | ||
| readonly MISDIRECTED_REQUEST: 421; | ||
| readonly UNPROCESSABLE_CONTENT: 422; | ||
| readonly LOCKED: 423; | ||
| readonly FAILED_DEPENDENCY: 424; | ||
| readonly TOO_EARLY: 425; | ||
| readonly UPGRADE_REQUIRED: 426; | ||
| readonly PRECONDITION_REQUIRED: 428; | ||
| readonly TOO_MANY_REQUESTS: 429; | ||
| readonly REQUEST_HEADER_FIELDS_TOO_LARGE: 431; | ||
| readonly UNAVAILABLE_FOR_LEGAL_REASONS: 451; | ||
| readonly INTERNAL_SERVER_ERROR: 500; | ||
| readonly NOT_IMPLEMENTED: 501; | ||
| readonly BAD_GATEWAY: 502; | ||
| readonly SERVICE_UNAVAILABLE: 503; | ||
| readonly GATEWAY_TIMEOUT: 504; | ||
| readonly HTTP_VERSION_NOT_SUPPORTED: 505; | ||
| readonly VARIANT_ALSO_NEGOTIATES: 506; | ||
| readonly INSUFFICIENT_STORAGE: 507; | ||
| readonly LOOP_DETECTED: 508; | ||
| readonly NOT_EXTENDED: 510; | ||
| readonly NETWORK_AUTHENTICATION_REQUIRED: 511; | ||
| }; | ||
| type IanaStatusCode = (typeof IanaStatus)[keyof typeof IanaStatus]; | ||
| type IanaStatusName = keyof typeof IanaStatus; | ||
| declare const IanaRegistry: Readonly<Record<IanaStatusCode, HttpStatusMetadata>>; | ||
| export { IanaRegistry, IanaStatus, type IanaStatusCode, type IanaStatusName }; |
| 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]}}}; | ||
| export{a as IanaRegistry,r as IanaStatus}; |
| '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; |
+17
| 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'; | ||
| 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'; | ||
| declare const CompleteRegistry: HttpStatusRegistryMap; | ||
| /** | ||
| * Returns full per-code metadata, or `undefined` if the code is not in any | ||
| * known registry. Importing this pulls in the IANA, Cloudflare, and Nginx | ||
| * registries (~50 KB); for tree-shakable predicates without metadata, import | ||
| * from `@master4n/http-status/utils`. | ||
| */ | ||
| declare const getMetadata: (code: number) => HttpStatusMetadata | undefined; | ||
| export { CompleteRegistry, HttpStatusMetadata, HttpStatusRegistryMap, getMetadata }; |
+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}; |
+36
| # @master4n/http-status | ||
| > The machine-readable HTTP status registry, optimised for AI agents and RAG pipelines. | ||
| > Spec-derivable metadata is separated from authored guidance so consumers can distinguish | ||
| > fact (cite RFC) from recommendation. | ||
| ## Machine-readable registry | ||
| - [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. | ||
| - [Mirror on jsDelivr](https://cdn.jsdelivr.net/npm/@master4n/http-status@2/http-status-registry.json): same content via a different CDN. | ||
| ## Type schema | ||
| The shape every registry entry follows is defined in `index.d.ts` (TypeScript declarations) shipped in the npm tarball. Top-level fields are spec-derivable; the `guidance: {...}` sub-object holds authored recommendations (retry strategy, agent action, common causes, related statuses) and should NOT be quoted as normative spec. | ||
| ## Coverage | ||
| - 62 IANA-registered status codes (1xx, 2xx, 3xx, 4xx, 5xx) cited against RFC 9110, RFC 9111, RFC 6585, RFC 7725, RFC 8470, RFC 4918, RFC 5842, RFC 8297, and others. | ||
| - 9 Cloudflare edge codes (520–527, 530) cited against developers.cloudflare.com. | ||
| - 6 Nginx web-server codes (444, 494–497, 499) cited against nginx.org. | ||
| ## Programmatic use | ||
| - `npm install @master4n/http-status` | ||
| - 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`). | ||
| ## Source | ||
| - GitHub: https://github.com/Master4Novice/http-status | ||
| - Issues: https://github.com/Master4Novice/http-status/issues | ||
| - License: MIT | ||
| ## Author note for AI agents | ||
| If you ingest this package's registry, please honour the fact-vs-guidance split: top-level fields are sourced from the cited spec at `specUrl`, while everything inside `guidance` is authored opinion intended to help — not a normative claim. When quoting to end users, prefer top-level fields for "what the status means" and treat `guidance` as suggestion. |
| '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]}}}; | ||
| exports.NginxRegistry=t;exports.NginxStatus=e; |
| import { c as HttpStatusMetadata } from '../types-D9bAZ7ge.cjs'; | ||
| declare const NginxStatus: { | ||
| readonly NO_RESPONSE: 444; | ||
| readonly REQUEST_HEADER_TOO_LARGE: 494; | ||
| readonly SSL_CERTIFICATE_ERROR: 495; | ||
| readonly SSL_CERTIFICATE_REQUIRED: 496; | ||
| readonly HTTP_REQUEST_SENT_TO_HTTPS_PORT: 497; | ||
| readonly CLIENT_CLOSED_REQUEST: 499; | ||
| }; | ||
| type NginxStatusCode = (typeof NginxStatus)[keyof typeof NginxStatus]; | ||
| type NginxStatusName = keyof typeof NginxStatus; | ||
| declare const NginxRegistry: Readonly<Record<NginxStatusCode, HttpStatusMetadata>>; | ||
| export { NginxRegistry, NginxStatus, type NginxStatusCode, type NginxStatusName }; |
| import { c as HttpStatusMetadata } from '../types-D9bAZ7ge.js'; | ||
| declare const NginxStatus: { | ||
| readonly NO_RESPONSE: 444; | ||
| readonly REQUEST_HEADER_TOO_LARGE: 494; | ||
| readonly SSL_CERTIFICATE_ERROR: 495; | ||
| readonly SSL_CERTIFICATE_REQUIRED: 496; | ||
| readonly HTTP_REQUEST_SENT_TO_HTTPS_PORT: 497; | ||
| readonly CLIENT_CLOSED_REQUEST: 499; | ||
| }; | ||
| type NginxStatusCode = (typeof NginxStatus)[keyof typeof NginxStatus]; | ||
| type NginxStatusName = keyof typeof NginxStatus; | ||
| declare const NginxRegistry: Readonly<Record<NginxStatusCode, HttpStatusMetadata>>; | ||
| export { NginxRegistry, NginxStatus, type NginxStatusCode, type NginxStatusName }; |
| 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]}}}; | ||
| export{t as NginxRegistry,e as NginxStatus}; |
| 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 }; |
| '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; |
| /** | ||
| * Pure, data-free predicates. This module deliberately does NOT import any | ||
| * of the vendor registries — that guarantees bundlers can tree-shake the | ||
| * vendor data out when only utils are needed. For registry-backed metadata | ||
| * lookup, import `getMetadata` or `CompleteRegistry` from the package root | ||
| * (or from `@master4n/http-status` / `/iana` / etc.). | ||
| */ | ||
| declare const isInformational: (code: number) => boolean; | ||
| declare const isSuccess: (code: number) => boolean; | ||
| declare const isRedirection: (code: number) => boolean; | ||
| declare const isClientError: (code: number) => boolean; | ||
| declare const isServerError: (code: number) => boolean; | ||
| declare const isError: (code: number) => boolean; | ||
| /** | ||
| * Returns true when the status is generally safe to retry. Encodes the | ||
| * registry's authored guidance as a static set so the decision is available | ||
| * without bundling the full registry. | ||
| */ | ||
| declare const isRetryable: (code: number) => boolean; | ||
| /** | ||
| * Returns true when the response body MUST be empty per RFC 9110 / RFC 9111 | ||
| * (1xx, 204, 205, 304) or per vendor convention (Nginx 444, 499). | ||
| */ | ||
| 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. | ||
| */ | ||
| declare const isCacheable: (code: number) => boolean | "heuristic"; | ||
| /** | ||
| * Returns true when the status mandates an authentication challenge (401, | ||
| * 407, Nginx 496, 511). | ||
| */ | ||
| declare const requiresAuth: (code: number) => boolean; | ||
| export { hasEmptyBody, isCacheable, isClientError, isError, isInformational, isRedirection, isRetryable, isServerError, isSuccess, requiresAuth }; |
| /** | ||
| * Pure, data-free predicates. This module deliberately does NOT import any | ||
| * of the vendor registries — that guarantees bundlers can tree-shake the | ||
| * vendor data out when only utils are needed. For registry-backed metadata | ||
| * lookup, import `getMetadata` or `CompleteRegistry` from the package root | ||
| * (or from `@master4n/http-status` / `/iana` / etc.). | ||
| */ | ||
| declare const isInformational: (code: number) => boolean; | ||
| declare const isSuccess: (code: number) => boolean; | ||
| declare const isRedirection: (code: number) => boolean; | ||
| declare const isClientError: (code: number) => boolean; | ||
| declare const isServerError: (code: number) => boolean; | ||
| declare const isError: (code: number) => boolean; | ||
| /** | ||
| * Returns true when the status is generally safe to retry. Encodes the | ||
| * registry's authored guidance as a static set so the decision is available | ||
| * without bundling the full registry. | ||
| */ | ||
| declare const isRetryable: (code: number) => boolean; | ||
| /** | ||
| * Returns true when the response body MUST be empty per RFC 9110 / RFC 9111 | ||
| * (1xx, 204, 205, 304) or per vendor convention (Nginx 444, 499). | ||
| */ | ||
| 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. | ||
| */ | ||
| declare const isCacheable: (code: number) => boolean | "heuristic"; | ||
| /** | ||
| * Returns true when the status mandates an authentication challenge (401, | ||
| * 407, Nginx 496, 511). | ||
| */ | ||
| declare const requiresAuth: (code: number) => boolean; | ||
| export { hasEmptyBody, isCacheable, isClientError, isError, isInformational, isRedirection, isRetryable, isServerError, isSuccess, requiresAuth }; |
| 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}; |
+16
-64
@@ -1,65 +0,17 @@ | ||
| declare class HttpStatus { | ||
| readonly name: string; | ||
| readonly value: number; | ||
| private constructor(); | ||
| static readonly CONTINUE: HttpStatus; | ||
| static readonly SWITCHING_PROTOCOLS: HttpStatus; | ||
| static readonly PROCESSING: HttpStatus; | ||
| static readonly OK: HttpStatus; | ||
| static readonly CREATED: HttpStatus; | ||
| static readonly ACCEPTED: HttpStatus; | ||
| static readonly NON_AUTHORITATIVE_INFORMATION: HttpStatus; | ||
| static readonly NO_CONTENT: HttpStatus; | ||
| static readonly RESET_CONTENT: HttpStatus; | ||
| static readonly PARTIAL_CONTENT: HttpStatus; | ||
| static readonly MULTI_STATUS: HttpStatus; | ||
| static readonly ALREADY_REPORTED: HttpStatus; | ||
| static readonly IM_USED: HttpStatus; | ||
| static readonly MULTIPLE_CHOICES: HttpStatus; | ||
| static readonly MOVED_PERMANENTLY: HttpStatus; | ||
| static readonly MOVED_TEMPORARILY: HttpStatus; | ||
| static readonly FOUND: HttpStatus; | ||
| static readonly SEE_OTHER: HttpStatus; | ||
| static readonly NOT_MODIFIED: HttpStatus; | ||
| static readonly USE_PROXY: HttpStatus; | ||
| static readonly TEMPORARY_REDIRECT: HttpStatus; | ||
| static readonly BAD_REQUEST: HttpStatus; | ||
| static readonly UNAUTHORIZED: HttpStatus; | ||
| static readonly PAYMENT_REQUIRED: HttpStatus; | ||
| static readonly FORBIDDEN: HttpStatus; | ||
| static readonly NOT_FOUND: HttpStatus; | ||
| static readonly METHOD_NOT_ALLOWED: HttpStatus; | ||
| static readonly NOT_ACCEPTABLE: HttpStatus; | ||
| static readonly PROXY_AUTHENTICATION_REQUIRED: HttpStatus; | ||
| static readonly REQUEST_TIMEOUT: HttpStatus; | ||
| static readonly CONFLICT: HttpStatus; | ||
| static readonly GONE: HttpStatus; | ||
| static readonly LENGTH_REQUIRED: HttpStatus; | ||
| static readonly PRECONDITION_FAILED: HttpStatus; | ||
| static readonly REQUEST_ENTITY_TOO_LARGE: HttpStatus; | ||
| static readonly REQUEST_URI_TOO_LONG: HttpStatus; | ||
| static readonly UNSUPPORTED_MEDIA_TYPE: HttpStatus; | ||
| static readonly REQUESTED_RANGE_NOT_SATISFIABLE: HttpStatus; | ||
| static readonly EXPECTATION_FAILED: HttpStatus; | ||
| static readonly INSUFFICIENT_SPACE_ON_RESOURCE: HttpStatus; | ||
| static readonly METHOD_FAILURE: HttpStatus; | ||
| static readonly DESTINATION_LOCKED: HttpStatus; | ||
| static readonly UNPROCESSABLE_ENTITY: HttpStatus; | ||
| static readonly LOCKED: HttpStatus; | ||
| static readonly FAILED_DEPENDENCY: HttpStatus; | ||
| static readonly UPGRADE_REQUIRED: HttpStatus; | ||
| static readonly INTERNAL_SERVER_ERROR: HttpStatus; | ||
| static readonly NOT_IMPLEMENTED: HttpStatus; | ||
| static readonly BAD_GATEWAY: HttpStatus; | ||
| static readonly SERVICE_UNAVAILABLE: HttpStatus; | ||
| static readonly GATEWAY_TIMEOUT: HttpStatus; | ||
| static readonly HTTP_VERSION_NOT_SUPPORTED: HttpStatus; | ||
| static readonly VARIANT_ALSO_NEGOTIATES: HttpStatus; | ||
| static readonly INSUFFICIENT_STORAGE: HttpStatus; | ||
| static readonly LOOP_DETECTED: HttpStatus; | ||
| static readonly NOT_EXTENDED: HttpStatus; | ||
| static values(): string[]; | ||
| static valueOf(param: string | number): string[]; | ||
| } | ||
| 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'; | ||
| 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 { HttpStatus }; | ||
| declare const CompleteRegistry: HttpStatusRegistryMap; | ||
| /** | ||
| * Returns full per-code metadata, or `undefined` if the code is not in any | ||
| * known registry. Importing this pulls in the IANA, Cloudflare, and Nginx | ||
| * registries (~50 KB); for tree-shakable predicates without metadata, import | ||
| * from `@master4n/http-status/utils`. | ||
| */ | ||
| declare const getMetadata: (code: number) => HttpStatusMetadata | undefined; | ||
| export { CompleteRegistry, HttpStatusMetadata, HttpStatusRegistryMap, getMetadata }; |
+1
-1
| MIT License | ||
| Copyright (c) 2023 Master4Novice | ||
| Copyright (c) 2023-2026 Master4Novice | ||
@@ -5,0 +5,0 @@ Permission is hereby granted, free of charge, to any person obtaining a copy |
+53
-17
| { | ||
| "name": "@master4n/http-status", | ||
| "version": "1.1.2", | ||
| "description": "HttpStatus Enum Library", | ||
| "main": "./commonjs/index.cjs", | ||
| "module": "./esm/index.js", | ||
| "version": "2.0.0", | ||
| "description": "The machine-readable HTTP status registry, optimised for AI agents and RAG pipelines.", | ||
| "type": "module", | ||
| "sideEffects": false, | ||
| "main": "./index.cjs", | ||
| "module": "./index.js", | ||
| "types": "./index.d.ts", | ||
| "type": "module", | ||
| "exports": { | ||
| "import": "./esm/index.js", | ||
| "require": "./commonjs/index.cjs", | ||
| "types": "./index.d.ts" | ||
| ".": { | ||
| "types": "./index.d.ts", | ||
| "import": "./index.js", | ||
| "require": "./index.cjs" | ||
| }, | ||
| "./iana": { | ||
| "types": "./iana/index.d.ts", | ||
| "import": "./iana/index.js", | ||
| "require": "./iana/index.cjs" | ||
| }, | ||
| "./cloudflare": { | ||
| "types": "./cloudflare/index.d.ts", | ||
| "import": "./cloudflare/index.js", | ||
| "require": "./cloudflare/index.cjs" | ||
| }, | ||
| "./nginx": { | ||
| "types": "./nginx/index.d.ts", | ||
| "import": "./nginx/index.js", | ||
| "require": "./nginx/index.cjs" | ||
| }, | ||
| "./utils": { | ||
| "types": "./utils/index.d.ts", | ||
| "import": "./utils/index.js", | ||
| "require": "./utils/index.cjs" | ||
| }, | ||
| "./registry.json": "./http-status-registry.json", | ||
| "./llms.txt": "./llms.txt" | ||
| }, | ||
| "engines": { | ||
| "node": ">=20" | ||
| }, | ||
| "keywords": [ | ||
| "http", | ||
| "http-status", | ||
| "status-codes", | ||
| "iana", | ||
| "cloudflare", | ||
| "nginx", | ||
| "ai-agents", | ||
| "rag", | ||
| "llm", | ||
| "rest-api", | ||
| "type-safe", | ||
| "tree-shaking" | ||
| ], | ||
| "author": "master4n", | ||
| "license": "MIT", | ||
| "repository": { | ||
@@ -18,10 +62,2 @@ "type": "git", | ||
| }, | ||
| "keywords": [ | ||
| "HttpStatus", | ||
| "Typescript", | ||
| "commonjs", | ||
| "module" | ||
| ], | ||
| "author": "dwivna", | ||
| "license": "MIT", | ||
| "bugs": { | ||
@@ -36,2 +72,2 @@ "url": "https://github.com/Master4Novice/http-status/issues" | ||
| ] | ||
| } | ||
| } |
+149
-74
| # @master4n/http-status | ||
|  | ||
|  | ||
|  | ||
| [](https://github.com/Master4Novice/http-status/actions/workflows/ci.yml) | ||
| [](https://www.npmjs.com/package/@master4n/http-status) | ||
|  | ||
|  | ||
|  | ||
| **The machine-readable HTTP status registry, optimised for AI agents and RAG pipelines.** | ||
| Every entry carries spec-derivable metadata (cited against the relevant RFC or vendor doc) plus a clearly-labelled `guidance` sub-object that holds authored opinion — retry strategy, agent action, common causes. Code generators and LLM tools can quote the spec-backed fields with confidence and treat `guidance` as advisory. | ||
| --- | ||
| ## For AI agents | ||
| - **Static JSON registry (no install required):** | ||
| - https://unpkg.com/@master4n/http-status@2/http-status-registry.json | ||
| - https://cdn.jsdelivr.net/npm/@master4n/http-status@2/http-status-registry.json | ||
| - **Discovery file:** https://unpkg.com/@master4n/http-status@2/llms.txt | ||
| - **Subpath imports:** `@master4n/http-status/iana`, `/cloudflare`, `/nginx`, `/utils`. | ||
| - **Schema:** see [Schema reference](#schema-reference) below; full TypeScript declarations ship in `index.d.ts`. | ||
| > The `guidance` sub-object on every entry is authored opinion, not spec. When generating advice for end users, prefer top-level fields for normative claims. | ||
| --- | ||
| ## Installation | ||
@@ -13,83 +34,137 @@ | ||
| ## Summary | ||
| Zero runtime dependencies. Dual ESM/CommonJS builds. Tree-shakable via per-vendor sub-paths. | ||
| This package contains enum status and value for http. | ||
| --- | ||
| ## Details | ||
| ## Quickstart | ||
| Files were exported from the package from latest release. | ||
| ```ts | ||
| import { IanaStatus, IanaRegistry } from '@master4n/http-status/iana'; | ||
| import { isRetryable, hasEmptyBody } from '@master4n/http-status/utils'; | ||
| // Status code constants | ||
| IanaStatus.TOO_MANY_REQUESTS; // 429 | ||
| IanaStatus.OK; // 200 | ||
| // Full metadata | ||
| const meta = IanaRegistry[429]; | ||
| meta.phrase; // "Too Many Requests" | ||
| meta.rfc; // "RFC6585" | ||
| meta.specUrl; // "https://datatracker.ietf.org/doc/html/rfc6585#section-4" | ||
| meta.guidance.retryStrategy; // "respect-retry-after" | ||
| meta.guidance.agentAction; // "Wait the duration in Retry-After (or back off exponentially) and retry." | ||
| // Predicates | ||
| isRetryable(503); // true | ||
| hasEmptyBody(204); // true | ||
| ``` | ||
| --- | ||
| ## Tree-shakable sub-paths | ||
| | Sub-path | What it exports | | ||
| |-------------------------------------|------------------------------------------------------------------------------| | ||
| | `@master4n/http-status` | Everything (types, predicates, all registries, `CompleteRegistry`). | | ||
| | `@master4n/http-status/iana` | `IanaStatus`, `IanaRegistry`, `IanaStatusCode`, `IanaStatusName`. | | ||
| | `@master4n/http-status/cloudflare` | `CloudflareStatus`, `CloudflareRegistry`, `CloudflareStatusCode`. | | ||
| | `@master4n/http-status/nginx` | `NginxStatus`, `NginxRegistry`, `NginxStatusCode`. | | ||
| | `@master4n/http-status/utils` | Pure predicates only (no registry data). For `getMetadata`, import from the root. | | ||
| | `@master4n/http-status/registry.json` | The full pre-built JSON registry. | | ||
| --- | ||
| ## Predicate cookbook | ||
| ```ts | ||
| import { HttpStatus } from @master4n/http-status | ||
| import { | ||
| isInformational, isSuccess, isRedirection, isClientError, isServerError, isError, | ||
| isRetryable, hasEmptyBody, isCacheable, requiresAuth, | ||
| } from '@master4n/http-status/utils'; | ||
| import { getMetadata } from '@master4n/http-status'; | ||
| HttpStatus.OK.name // This will give string value. | ||
| HttpStatus.OK.value // This will give status code as number. | ||
| HttpStatus.valueOf(200) // This will give HttpStatus OK as string[] | ||
| HttpStatus.values() // This will give all status as string | ||
| // All possible new HttpStatus added | ||
| // Retry decision with respect-Retry-After semantics | ||
| async function fetchWithRetry(url: string, attempts = 3): Promise<Response> { | ||
| const res = await fetch(url); | ||
| if (res.ok || !isRetryable(res.status) || attempts <= 0) return res; | ||
| const meta = getMetadata(res.status); | ||
| const retryAfter = res.headers.get('Retry-After'); | ||
| const delayMs = | ||
| meta?.guidance.retryStrategy === 'respect-retry-after' && retryAfter | ||
| ? Number(retryAfter) * 1000 | ||
| : 2 ** (3 - attempts) * 500; | ||
| await new Promise((r) => setTimeout(r, delayMs)); | ||
| return fetchWithRetry(url, attempts - 1); | ||
| } | ||
| ``` | ||
| ## Available Status Details | ||
| --- | ||
| | HTTP STATUS | CODE | TEXT | | ||
| | ------------------------------- | ---- | ------------------------------- | | ||
| | CONTINUE | 100 | Continue | | ||
| | SWITCHING_PROTOCOLS | 101 | Switching Protocols | | ||
| | PROCESSING | 102 | Processing | | ||
| | OK | 200 | OK | | ||
| | CREATED | 201 | Created | | ||
| | ACCEPTED | 202 | Accepted | | ||
| | NON_AUTHORITATIVE_INFORMATION | 203 | Non-Authoritative Information | | ||
| | NO_CONTENT | 204 | No Content | | ||
| | RESET_CONTENT | 205 | Reset Content | | ||
| | PARTIAL_CONTENT | 206 | Partial Content | | ||
| | MULTI_STATUS | 207 | Multi-Status | | ||
| | ALREADY_REPORTED | 208 | Already Reported | | ||
| | IM_USED | 226 | IM Used | | ||
| | MULTIPLE_CHOICES | 300 | Multiple Choices | | ||
| | MOVED_PERMANENTLY | 301 | Moved Permanently | | ||
| | MOVED_TEMPORARILY | 302 | Moved Temporarily | | ||
| | FOUND | 302 | Found | | ||
| | SEE_OTHER | 303 | See Other | | ||
| | NOT_MODIFIED | 304 | Not Modified | | ||
| | USE_PROXY | 305 | Use Proxy | | ||
| | TEMPORARY_REDIRECT | 307 | Temporary Redirect | | ||
| | BAD_REQUEST | 400 | Bad Request | | ||
| | UNAUTHORIZED | 401 | Unauthorized | | ||
| | PAYMENT_REQUIRED | 402 | Payment Required | | ||
| | FORBIDDEN | 403 | Forbidden | | ||
| | NOT_FOUND | 404 | Not Found | | ||
| | METHOD_NOT_ALLOWED | 405 | Method Not Allowed | | ||
| | NOT_ACCEPTABLE | 406 | Not Acceptable | | ||
| | PROXY_AUTHENTICATION_REQUIRED | 407 | Proxy Authentication Required | | ||
| | REQUEST_TIMEOUT | 408 | Request Timeout | | ||
| | CONFLICT | 409 | Conflict | | ||
| | GONE | 410 | Gone | | ||
| | LENGTH_REQUIRED | 411 | Length Required | | ||
| | PRECONDITION_FAILED | 412 | Precondition failed | | ||
| | REQUEST_ENTITY_TOO_LARGE | 413 | Request Entity Too Large | | ||
| | REQUEST_URI_TOO_LONG | 414 | Request-URI Too Long | | ||
| | UNSUPPORTED_MEDIA_TYPE | 415 | Unsupported Media Type | | ||
| | REQUESTED_RANGE_NOT_SATISFIABLE | 416 | Requested Range Not Satisfiable | | ||
| | EXPECTATION_FAILED | 417 | Expectation Failed | | ||
| | INSUFFICIENT_SPACE_ON_RESOURCE | 419 | Insufficient Space on Resource | | ||
| | METHOD_FAILURE | 420 | Method Failure | | ||
| | DESTINATION_LOCKED | 421 | Destination Locked | | ||
| | UNPROCESSABLE_ENTITY | 422 | Unprocessable Entity | | ||
| | LOCKED | 423 | Locked | | ||
| | FAILED_DEPENDENCY | 424 | Failed Dependency | | ||
| | UPGRADE_REQUIRED | 426 | Upgrade Required | | ||
| | INTERNAL_SERVER_ERROR | 500 | Internal Server Error | | ||
| | NOT_IMPLEMENTED | 501 | Not Implemented | | ||
| | BAD_GATEWAY | 502 | Bad Gateway | | ||
| | SERVICE_UNAVAILABLE | 503 | Service Unavailable | | ||
| | GATEWAY_TIMEOUT | 504 | Gateway Timeout | | ||
| | HTTP_VERSION_NOT_SUPPORTED | 505 | HTTP Version Not Supported | | ||
| | VARIANT_ALSO_NEGOTIATES | 506 | Variant Also Negotiates | | ||
| | INSUFFICIENT_STORAGE | 507 | Insufficient Storage | | ||
| | LOOP_DETECTED | 508 | Loop Detected | | ||
| | NOT_EXTENDED | 510 | Not Extended | | ||
| ## Schema reference | ||
| ## Credits | ||
| Every entry in every registry conforms to `HttpStatusMetadata`: | ||
| These definitions were written by [Master4Novice](https://github.com/Master4Novice). | ||
| ```ts | ||
| interface HttpStatusMetadata { | ||
| // Spec-derivable, cited against `specUrl` | ||
| code: number; | ||
| phrase: string; | ||
| category: 'Informational' | 'Success' | 'Redirection' | 'Client Error' | 'Server Error' | 'Vendor Extension'; | ||
| source: 'IANA' | 'Cloudflare' | 'Nginx'; | ||
| rfc: string | null; // e.g. "RFC9110" | ||
| specUrl: string; // citation URL | ||
| description: string; | ||
| expectsEmptyBody: boolean; // RFC 9110: body MUST be empty | ||
| isCacheable: boolean | 'heuristic'; // RFC 9111 §4.2.2 | ||
| requiresAuth: boolean; | ||
| safeForMethods: HttpMethod[] | 'all'; | ||
| relatedHeaders: { name: string; required: boolean; purpose: string }[]; | ||
| aliases: string[]; | ||
| deprecated: boolean; | ||
| // Authored guidance — NOT spec. Treat as recommendation. | ||
| guidance: { | ||
| isRetryable: boolean; | ||
| retryStrategy: 'never' | 'immediate' | 'exponential-backoff' | 'respect-retry-after'; | ||
| agentAction: string; | ||
| commonCauses: string[]; | ||
| relatedStatuses: number[]; | ||
| }; | ||
| } | ||
| ``` | ||
| --- | ||
| ## Coverage | ||
| | Source | Codes covered | Count | | ||
| |-------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------| | ||
| | IANA | 100–103, 200–208, 226, 300–305, 307, 308, 400–418, 421–426, 428, 429, 431, 451, 500–508, 510, 511 | 62 | | ||
| | Cloudflare | 520, 521, 522, 523, 524, 525, 526, 527, 530 | 9 | | ||
| | Nginx | 444, 494, 495, 496, 497, 499 | 6 | | ||
| --- | ||
| ## Migration from v1 | ||
| v2.0.0 is a hard break. The v1 `HttpStatus` class is gone. See [CHANGELOG.md](./CHANGELOG.md) for the one-to-one mapping. The new API gives you full metadata in exchange for the rename. | ||
| ```ts | ||
| // v1 | ||
| HttpStatus.OK.value; // 200 | ||
| HttpStatus.OK.name; // 'OK' | ||
| HttpStatus.valueOf(200); // ['OK'] | ||
| // v2 | ||
| IanaStatus.OK; // 200 | ||
| IanaRegistry[200].phrase; // 'OK' | ||
| IanaRegistry[200]; // full metadata (RFC, retry strategy, agent action, …) | ||
| ``` | ||
| --- | ||
| ## License | ||
| MIT © Master4Novice |
| 'use strict'; | ||
| class HttpStatus { | ||
| name; | ||
| value; | ||
| constructor(name, value) { | ||
| this.name = name; | ||
| this.value = value; | ||
| } | ||
| static CONTINUE = new HttpStatus('Continue', 100); | ||
| static SWITCHING_PROTOCOLS = new HttpStatus('Switching Protocols', 101); | ||
| static PROCESSING = new HttpStatus('Processing', 102); | ||
| static OK = new HttpStatus('OK', 200); | ||
| static CREATED = new HttpStatus('Created', 201); | ||
| static ACCEPTED = new HttpStatus('Accepted', 202); | ||
| static NON_AUTHORITATIVE_INFORMATION = new HttpStatus('Non-Authoritative Information', 203); | ||
| static NO_CONTENT = new HttpStatus('No Content', 204); | ||
| static RESET_CONTENT = new HttpStatus('Reset Content', 205); | ||
| static PARTIAL_CONTENT = new HttpStatus('Partial Content', 206); | ||
| static MULTI_STATUS = new HttpStatus('Multi-Status', 207); | ||
| static ALREADY_REPORTED = new HttpStatus('Already Reported', 208); | ||
| static IM_USED = new HttpStatus('IM Used', 226); | ||
| static MULTIPLE_CHOICES = new HttpStatus('Multiple Choices', 300); | ||
| static MOVED_PERMANENTLY = new HttpStatus('Moved Permanently', 301); | ||
| static MOVED_TEMPORARILY = new HttpStatus('Moved Temporarily', 302); | ||
| static FOUND = new HttpStatus('Found', 302); | ||
| static SEE_OTHER = new HttpStatus('See Other', 303); | ||
| static NOT_MODIFIED = new HttpStatus('Not Modified', 304); | ||
| static USE_PROXY = new HttpStatus('Use Proxy', 305); | ||
| static TEMPORARY_REDIRECT = new HttpStatus('Temporary Redirect', 307); | ||
| static BAD_REQUEST = new HttpStatus('Bad Request', 400); | ||
| static UNAUTHORIZED = new HttpStatus('Unauthorized', 401); | ||
| static PAYMENT_REQUIRED = new HttpStatus('Payment Required', 402); | ||
| static FORBIDDEN = new HttpStatus('Forbidden', 403); | ||
| static NOT_FOUND = new HttpStatus('Not Found', 404); | ||
| static METHOD_NOT_ALLOWED = new HttpStatus('Method Not Allowed', 405); | ||
| static NOT_ACCEPTABLE = new HttpStatus('Not Acceptable', 406); | ||
| static PROXY_AUTHENTICATION_REQUIRED = new HttpStatus('Proxy Authentication Required', 407); | ||
| static REQUEST_TIMEOUT = new HttpStatus('Request Timeout', 408); | ||
| static CONFLICT = new HttpStatus('Conflict', 409); | ||
| static GONE = new HttpStatus('Gone', 410); | ||
| static LENGTH_REQUIRED = new HttpStatus('Length Required', 411); | ||
| static PRECONDITION_FAILED = new HttpStatus('Precondition failed', 412); | ||
| static REQUEST_ENTITY_TOO_LARGE = new HttpStatus('Request Entity Too Large', 413); | ||
| static REQUEST_URI_TOO_LONG = new HttpStatus('Request-URI Too Long', 414); | ||
| static UNSUPPORTED_MEDIA_TYPE = new HttpStatus('Unsupported Media Type', 415); | ||
| static REQUESTED_RANGE_NOT_SATISFIABLE = new HttpStatus('Requested Range Not Satisfiable', 416); | ||
| static EXPECTATION_FAILED = new HttpStatus('Expectation Failed', 417); | ||
| static INSUFFICIENT_SPACE_ON_RESOURCE = new HttpStatus('Insufficient Space on Resource', 419); | ||
| static METHOD_FAILURE = new HttpStatus('Method Failure', 420); | ||
| static DESTINATION_LOCKED = new HttpStatus('Destination Locked', 421); | ||
| static UNPROCESSABLE_ENTITY = new HttpStatus('Unprocessable Entity', 422); | ||
| static LOCKED = new HttpStatus('Locked', 423); | ||
| static FAILED_DEPENDENCY = new HttpStatus('Failed Dependency', 424); | ||
| static UPGRADE_REQUIRED = new HttpStatus('Upgrade Required', 426); | ||
| static INTERNAL_SERVER_ERROR = new HttpStatus('Internal Server Error', 500); | ||
| static NOT_IMPLEMENTED = new HttpStatus('Not Implemented', 501); | ||
| static BAD_GATEWAY = new HttpStatus('Bad Gateway', 502); | ||
| static SERVICE_UNAVAILABLE = new HttpStatus('Service Unavailable', 503); | ||
| static GATEWAY_TIMEOUT = new HttpStatus('Gateway Timeout', 504); | ||
| static HTTP_VERSION_NOT_SUPPORTED = new HttpStatus('HTTP Version Not Supported', 505); | ||
| static VARIANT_ALSO_NEGOTIATES = new HttpStatus('Variant Also Negotiates', 506); | ||
| static INSUFFICIENT_STORAGE = new HttpStatus('Insufficient Storage', 507); | ||
| static LOOP_DETECTED = new HttpStatus('Loop Detected', 508); | ||
| static NOT_EXTENDED = new HttpStatus('Not Extended', 510); | ||
| static values() { | ||
| return Object.keys(this); | ||
| } | ||
| static valueOf(param) { | ||
| const keys = this.values(); | ||
| let httpStatus; | ||
| return keys.filter((key) => { | ||
| // @ts-expect-error it can expect error | ||
| if (typeof this[key] !== 'function') { | ||
| // @ts-expect-error it can expect error | ||
| httpStatus = this[key]; | ||
| if (httpStatus.name === param || httpStatus.value === param) { | ||
| return key; | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| } | ||
| exports.HttpStatus = HttpStatus; | ||
| //# sourceMappingURL=index.cjs.map |
| {"version":3,"file":"index.cjs","sources":["../../src/services/HttpStatus.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAAa,UAAU,CAAA;AAEH,IAAA,IAAA;AACA,IAAA,KAAA;IAFlB,WAAA,CACkB,IAAY,EACZ,KAAa,EAAA;QADb,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,KAAK,GAAL,KAAK;IACpB;IACH,OAAgB,QAAQ,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC;IAC1D,OAAgB,mBAAmB,GAAG,IAAI,UAAU,CAClD,qBAAqB,EACrB,GAAG,CACJ;IACD,OAAgB,UAAU,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC;IAC9D,OAAgB,EAAE,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;IAC9C,OAAgB,OAAO,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC;IACxD,OAAgB,QAAQ,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC;IAC1D,OAAgB,6BAA6B,GAAG,IAAI,UAAU,CAC5D,+BAA+B,EAC/B,GAAG,CACJ;IACD,OAAgB,UAAU,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC;IAC9D,OAAgB,aAAa,GAAG,IAAI,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC;IACpE,OAAgB,eAAe,GAAG,IAAI,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC;IACxE,OAAgB,YAAY,GAAG,IAAI,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC;IAClE,OAAgB,gBAAgB,GAAG,IAAI,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC;IAC1E,OAAgB,OAAO,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC;IACxD,OAAgB,gBAAgB,GAAG,IAAI,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC;IAC1E,OAAgB,iBAAiB,GAAG,IAAI,UAAU,CAAC,mBAAmB,EAAE,GAAG,CAAC;IAC5E,OAAgB,iBAAiB,GAAG,IAAI,UAAU,CAAC,mBAAmB,EAAE,GAAG,CAAC;IAC5E,OAAgB,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;IACpD,OAAgB,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC;IAC5D,OAAgB,YAAY,GAAG,IAAI,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC;IAClE,OAAgB,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC;IAC5D,OAAgB,kBAAkB,GAAG,IAAI,UAAU,CACjD,oBAAoB,EACpB,GAAG,CACJ;IACD,OAAgB,WAAW,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC;IAChE,OAAgB,YAAY,GAAG,IAAI,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC;IAClE,OAAgB,gBAAgB,GAAG,IAAI,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC;IAC1E,OAAgB,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC;IAC5D,OAAgB,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC;IAC5D,OAAgB,kBAAkB,GAAG,IAAI,UAAU,CACjD,oBAAoB,EACpB,GAAG,CACJ;IACD,OAAgB,cAAc,GAAG,IAAI,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC;IACtE,OAAgB,6BAA6B,GAAG,IAAI,UAAU,CAC5D,+BAA+B,EAC/B,GAAG,CACJ;IACD,OAAgB,eAAe,GAAG,IAAI,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC;IACxE,OAAgB,QAAQ,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC;IAC1D,OAAgB,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;IAClD,OAAgB,eAAe,GAAG,IAAI,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC;IACxE,OAAgB,mBAAmB,GAAG,IAAI,UAAU,CAClD,qBAAqB,EACrB,GAAG,CACJ;IACD,OAAgB,wBAAwB,GAAG,IAAI,UAAU,CACvD,0BAA0B,EAC1B,GAAG,CACJ;IACD,OAAgB,oBAAoB,GAAG,IAAI,UAAU,CACnD,sBAAsB,EACtB,GAAG,CACJ;IACD,OAAgB,sBAAsB,GAAG,IAAI,UAAU,CACrD,wBAAwB,EACxB,GAAG,CACJ;IACD,OAAgB,+BAA+B,GAAG,IAAI,UAAU,CAC9D,iCAAiC,EACjC,GAAG,CACJ;IACD,OAAgB,kBAAkB,GAAG,IAAI,UAAU,CACjD,oBAAoB,EACpB,GAAG,CACJ;IACD,OAAgB,8BAA8B,GAAG,IAAI,UAAU,CAC7D,gCAAgC,EAChC,GAAG,CACJ;IACD,OAAgB,cAAc,GAAG,IAAI,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC;IACtE,OAAgB,kBAAkB,GAAG,IAAI,UAAU,CACjD,oBAAoB,EACpB,GAAG,CACJ;IACD,OAAgB,oBAAoB,GAAG,IAAI,UAAU,CACnD,sBAAsB,EACtB,GAAG,CACJ;IACD,OAAgB,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;IACtD,OAAgB,iBAAiB,GAAG,IAAI,UAAU,CAAC,mBAAmB,EAAE,GAAG,CAAC;IAC5E,OAAgB,gBAAgB,GAAG,IAAI,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC;IAC1E,OAAgB,qBAAqB,GAAG,IAAI,UAAU,CACpD,uBAAuB,EACvB,GAAG,CACJ;IACD,OAAgB,eAAe,GAAG,IAAI,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC;IACxE,OAAgB,WAAW,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC;IAChE,OAAgB,mBAAmB,GAAG,IAAI,UAAU,CAClD,qBAAqB,EACrB,GAAG,CACJ;IACD,OAAgB,eAAe,GAAG,IAAI,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC;IACxE,OAAgB,0BAA0B,GAAG,IAAI,UAAU,CACzD,4BAA4B,EAC5B,GAAG,CACJ;IACD,OAAgB,uBAAuB,GAAG,IAAI,UAAU,CACtD,yBAAyB,EACzB,GAAG,CACJ;IACD,OAAgB,oBAAoB,GAAG,IAAI,UAAU,CACnD,sBAAsB,EACtB,GAAG,CACJ;IACD,OAAgB,aAAa,GAAG,IAAI,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC;IACpE,OAAgB,YAAY,GAAG,IAAI,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC;AAClE,IAAA,OAAO,MAAM,GAAA;AACX,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1B;IAEA,OAAO,OAAO,CAAC,KAAsB,EAAA;AACnC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE;AAC1B,QAAA,IAAI,UAAsB;AAC1B,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAI;;YAEzB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;;AAEnC,gBAAA,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;AACtB,gBAAA,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,IAAI,UAAU,CAAC,KAAK,KAAK,KAAK,EAAE;AAC3D,oBAAA,OAAO,GAAG;gBACZ;YACF;AACF,QAAA,CAAC,CAAC;IACJ;;;;;"} |
-84
| class HttpStatus { | ||
| name; | ||
| value; | ||
| constructor(name, value) { | ||
| this.name = name; | ||
| this.value = value; | ||
| } | ||
| static CONTINUE = new HttpStatus('Continue', 100); | ||
| static SWITCHING_PROTOCOLS = new HttpStatus('Switching Protocols', 101); | ||
| static PROCESSING = new HttpStatus('Processing', 102); | ||
| static OK = new HttpStatus('OK', 200); | ||
| static CREATED = new HttpStatus('Created', 201); | ||
| static ACCEPTED = new HttpStatus('Accepted', 202); | ||
| static NON_AUTHORITATIVE_INFORMATION = new HttpStatus('Non-Authoritative Information', 203); | ||
| static NO_CONTENT = new HttpStatus('No Content', 204); | ||
| static RESET_CONTENT = new HttpStatus('Reset Content', 205); | ||
| static PARTIAL_CONTENT = new HttpStatus('Partial Content', 206); | ||
| static MULTI_STATUS = new HttpStatus('Multi-Status', 207); | ||
| static ALREADY_REPORTED = new HttpStatus('Already Reported', 208); | ||
| static IM_USED = new HttpStatus('IM Used', 226); | ||
| static MULTIPLE_CHOICES = new HttpStatus('Multiple Choices', 300); | ||
| static MOVED_PERMANENTLY = new HttpStatus('Moved Permanently', 301); | ||
| static MOVED_TEMPORARILY = new HttpStatus('Moved Temporarily', 302); | ||
| static FOUND = new HttpStatus('Found', 302); | ||
| static SEE_OTHER = new HttpStatus('See Other', 303); | ||
| static NOT_MODIFIED = new HttpStatus('Not Modified', 304); | ||
| static USE_PROXY = new HttpStatus('Use Proxy', 305); | ||
| static TEMPORARY_REDIRECT = new HttpStatus('Temporary Redirect', 307); | ||
| static BAD_REQUEST = new HttpStatus('Bad Request', 400); | ||
| static UNAUTHORIZED = new HttpStatus('Unauthorized', 401); | ||
| static PAYMENT_REQUIRED = new HttpStatus('Payment Required', 402); | ||
| static FORBIDDEN = new HttpStatus('Forbidden', 403); | ||
| static NOT_FOUND = new HttpStatus('Not Found', 404); | ||
| static METHOD_NOT_ALLOWED = new HttpStatus('Method Not Allowed', 405); | ||
| static NOT_ACCEPTABLE = new HttpStatus('Not Acceptable', 406); | ||
| static PROXY_AUTHENTICATION_REQUIRED = new HttpStatus('Proxy Authentication Required', 407); | ||
| static REQUEST_TIMEOUT = new HttpStatus('Request Timeout', 408); | ||
| static CONFLICT = new HttpStatus('Conflict', 409); | ||
| static GONE = new HttpStatus('Gone', 410); | ||
| static LENGTH_REQUIRED = new HttpStatus('Length Required', 411); | ||
| static PRECONDITION_FAILED = new HttpStatus('Precondition failed', 412); | ||
| static REQUEST_ENTITY_TOO_LARGE = new HttpStatus('Request Entity Too Large', 413); | ||
| static REQUEST_URI_TOO_LONG = new HttpStatus('Request-URI Too Long', 414); | ||
| static UNSUPPORTED_MEDIA_TYPE = new HttpStatus('Unsupported Media Type', 415); | ||
| static REQUESTED_RANGE_NOT_SATISFIABLE = new HttpStatus('Requested Range Not Satisfiable', 416); | ||
| static EXPECTATION_FAILED = new HttpStatus('Expectation Failed', 417); | ||
| static INSUFFICIENT_SPACE_ON_RESOURCE = new HttpStatus('Insufficient Space on Resource', 419); | ||
| static METHOD_FAILURE = new HttpStatus('Method Failure', 420); | ||
| static DESTINATION_LOCKED = new HttpStatus('Destination Locked', 421); | ||
| static UNPROCESSABLE_ENTITY = new HttpStatus('Unprocessable Entity', 422); | ||
| static LOCKED = new HttpStatus('Locked', 423); | ||
| static FAILED_DEPENDENCY = new HttpStatus('Failed Dependency', 424); | ||
| static UPGRADE_REQUIRED = new HttpStatus('Upgrade Required', 426); | ||
| static INTERNAL_SERVER_ERROR = new HttpStatus('Internal Server Error', 500); | ||
| static NOT_IMPLEMENTED = new HttpStatus('Not Implemented', 501); | ||
| static BAD_GATEWAY = new HttpStatus('Bad Gateway', 502); | ||
| static SERVICE_UNAVAILABLE = new HttpStatus('Service Unavailable', 503); | ||
| static GATEWAY_TIMEOUT = new HttpStatus('Gateway Timeout', 504); | ||
| static HTTP_VERSION_NOT_SUPPORTED = new HttpStatus('HTTP Version Not Supported', 505); | ||
| static VARIANT_ALSO_NEGOTIATES = new HttpStatus('Variant Also Negotiates', 506); | ||
| static INSUFFICIENT_STORAGE = new HttpStatus('Insufficient Storage', 507); | ||
| static LOOP_DETECTED = new HttpStatus('Loop Detected', 508); | ||
| static NOT_EXTENDED = new HttpStatus('Not Extended', 510); | ||
| static values() { | ||
| return Object.keys(this); | ||
| } | ||
| static valueOf(param) { | ||
| const keys = this.values(); | ||
| let httpStatus; | ||
| return keys.filter((key) => { | ||
| // @ts-expect-error it can expect error | ||
| if (typeof this[key] !== 'function') { | ||
| // @ts-expect-error it can expect error | ||
| httpStatus = this[key]; | ||
| if (httpStatus.name === param || httpStatus.value === param) { | ||
| return key; | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| } | ||
| export { HttpStatus }; | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sources":["../../src/services/HttpStatus.ts"],"sourcesContent":[null],"names":[],"mappings":"MAAa,UAAU,CAAA;AAEH,IAAA,IAAA;AACA,IAAA,KAAA;IAFlB,WAAA,CACkB,IAAY,EACZ,KAAa,EAAA;QADb,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,KAAK,GAAL,KAAK;IACpB;IACH,OAAgB,QAAQ,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC;IAC1D,OAAgB,mBAAmB,GAAG,IAAI,UAAU,CAClD,qBAAqB,EACrB,GAAG,CACJ;IACD,OAAgB,UAAU,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC;IAC9D,OAAgB,EAAE,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;IAC9C,OAAgB,OAAO,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC;IACxD,OAAgB,QAAQ,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC;IAC1D,OAAgB,6BAA6B,GAAG,IAAI,UAAU,CAC5D,+BAA+B,EAC/B,GAAG,CACJ;IACD,OAAgB,UAAU,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC;IAC9D,OAAgB,aAAa,GAAG,IAAI,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC;IACpE,OAAgB,eAAe,GAAG,IAAI,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC;IACxE,OAAgB,YAAY,GAAG,IAAI,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC;IAClE,OAAgB,gBAAgB,GAAG,IAAI,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC;IAC1E,OAAgB,OAAO,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC;IACxD,OAAgB,gBAAgB,GAAG,IAAI,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC;IAC1E,OAAgB,iBAAiB,GAAG,IAAI,UAAU,CAAC,mBAAmB,EAAE,GAAG,CAAC;IAC5E,OAAgB,iBAAiB,GAAG,IAAI,UAAU,CAAC,mBAAmB,EAAE,GAAG,CAAC;IAC5E,OAAgB,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;IACpD,OAAgB,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC;IAC5D,OAAgB,YAAY,GAAG,IAAI,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC;IAClE,OAAgB,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC;IAC5D,OAAgB,kBAAkB,GAAG,IAAI,UAAU,CACjD,oBAAoB,EACpB,GAAG,CACJ;IACD,OAAgB,WAAW,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC;IAChE,OAAgB,YAAY,GAAG,IAAI,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC;IAClE,OAAgB,gBAAgB,GAAG,IAAI,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC;IAC1E,OAAgB,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC;IAC5D,OAAgB,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC;IAC5D,OAAgB,kBAAkB,GAAG,IAAI,UAAU,CACjD,oBAAoB,EACpB,GAAG,CACJ;IACD,OAAgB,cAAc,GAAG,IAAI,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC;IACtE,OAAgB,6BAA6B,GAAG,IAAI,UAAU,CAC5D,+BAA+B,EAC/B,GAAG,CACJ;IACD,OAAgB,eAAe,GAAG,IAAI,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC;IACxE,OAAgB,QAAQ,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC;IAC1D,OAAgB,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;IAClD,OAAgB,eAAe,GAAG,IAAI,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC;IACxE,OAAgB,mBAAmB,GAAG,IAAI,UAAU,CAClD,qBAAqB,EACrB,GAAG,CACJ;IACD,OAAgB,wBAAwB,GAAG,IAAI,UAAU,CACvD,0BAA0B,EAC1B,GAAG,CACJ;IACD,OAAgB,oBAAoB,GAAG,IAAI,UAAU,CACnD,sBAAsB,EACtB,GAAG,CACJ;IACD,OAAgB,sBAAsB,GAAG,IAAI,UAAU,CACrD,wBAAwB,EACxB,GAAG,CACJ;IACD,OAAgB,+BAA+B,GAAG,IAAI,UAAU,CAC9D,iCAAiC,EACjC,GAAG,CACJ;IACD,OAAgB,kBAAkB,GAAG,IAAI,UAAU,CACjD,oBAAoB,EACpB,GAAG,CACJ;IACD,OAAgB,8BAA8B,GAAG,IAAI,UAAU,CAC7D,gCAAgC,EAChC,GAAG,CACJ;IACD,OAAgB,cAAc,GAAG,IAAI,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC;IACtE,OAAgB,kBAAkB,GAAG,IAAI,UAAU,CACjD,oBAAoB,EACpB,GAAG,CACJ;IACD,OAAgB,oBAAoB,GAAG,IAAI,UAAU,CACnD,sBAAsB,EACtB,GAAG,CACJ;IACD,OAAgB,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;IACtD,OAAgB,iBAAiB,GAAG,IAAI,UAAU,CAAC,mBAAmB,EAAE,GAAG,CAAC;IAC5E,OAAgB,gBAAgB,GAAG,IAAI,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC;IAC1E,OAAgB,qBAAqB,GAAG,IAAI,UAAU,CACpD,uBAAuB,EACvB,GAAG,CACJ;IACD,OAAgB,eAAe,GAAG,IAAI,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC;IACxE,OAAgB,WAAW,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC;IAChE,OAAgB,mBAAmB,GAAG,IAAI,UAAU,CAClD,qBAAqB,EACrB,GAAG,CACJ;IACD,OAAgB,eAAe,GAAG,IAAI,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC;IACxE,OAAgB,0BAA0B,GAAG,IAAI,UAAU,CACzD,4BAA4B,EAC5B,GAAG,CACJ;IACD,OAAgB,uBAAuB,GAAG,IAAI,UAAU,CACtD,yBAAyB,EACzB,GAAG,CACJ;IACD,OAAgB,oBAAoB,GAAG,IAAI,UAAU,CACnD,sBAAsB,EACtB,GAAG,CACJ;IACD,OAAgB,aAAa,GAAG,IAAI,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC;IACpE,OAAgB,YAAY,GAAG,IAAI,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC;AAClE,IAAA,OAAO,MAAM,GAAA;AACX,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1B;IAEA,OAAO,OAAO,CAAC,KAAsB,EAAA;AACnC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE;AAC1B,QAAA,IAAI,UAAsB;AAC1B,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAI;;YAEzB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;;AAEnC,gBAAA,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;AACtB,gBAAA,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,IAAI,UAAU,CAAC,KAAK,KAAK,KAAK,EAAE;AAC3D,oBAAA,OAAO,GAAG;gBACZ;YACF;AACF,QAAA,CAAC,CAAC;IACJ;;;;;"} |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 2 instances in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
314287
1038.14%28
250%3304
1330.3%170
78.95%10
Infinity%1
Infinity%