UNPKG

@poppanator/http-constants

Version:

This package contains various HTTP constants: http status codes and texts, HTTP header names and HTTP methods, and a few related utility function.

503 lines (435 loc) 17 kB
// -------------------------------------------------------------------------- // // // // Informational // // // // -------------------------------------------------------------------------- // /** * This interim response indicates that the client should continue the request * or ignore the response if the request is already finished. */ export const Continue = 100 /** * This code is sent in response to an * [Upgrade](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Upgrade) * request header from the client and indicates the protocol the server is * switching to. */ export const SwitchingProtocol = 101 /** * This code indicates that the server has received and is processing the * request, but no response is available yet. * * @note WebDAV */ export const Processing = 102 /** * This status code is primarily intended to be used with the * [Link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Link) * header, letting the user agent start preloading resources while the server * prepares a response. */ export const EarlyHints = 103 // -------------------------------------------------------------------------- // // // // Successful // // // // -------------------------------------------------------------------------- // /** * The request succeeded. The result meaning of "success" depends on the HTTP * method: * * - `GET`: The resource has been fetched and transmitted in the message body. * - `HEAD`: The representation headers are included in the response without * any message body. * - `PUT` or `POST`: The resource describing the result of the action is * transmitted in the message body. * - `TRACE`: The message body contains the request message as received by * the server. */ export const Ok = 200 /** * The request succeeded, and a new resource was created as a result. This is * typically the response sent after `POST` requests, or some `PUT` requests. */ export const Created = 201 /** * The request has been received but not yet acted upon. It is noncommittal, * since there is no way in HTTP to later send an asynchronous response * indicating the outcome of the request. It is intended for cases where another * process or server handles the request, or for batch processing. */ export const Accepted = 202 /** * This response code means the returned metadata is not exactly the same as is * available from the origin server, but is collected from a local or a * third-party copy. This is mostly used for mirrors or backups of another * resource. Except for that specific case, the `200 OK` response is preferred * to this status. */ export const NonAuthoritativeInformation = 203 /** * There is no content to send for this request, but the headers may be useful. * The user agent may update its cached headers for this resource with the new * ones. */ export const NoContent = 204 /** * Tells the user agent to reset the document which sent this request. */ export const ResetContent = 205 /** * This response code is used when the * [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) * header is sent from the client to request only part of a resource. */ export const PartialContent = 206 /** * Conveys information about multiple resources, for situations where multiple * status codes might be appropriate. * * @note WebDAV */ export const MultiStatus = 207 /** * Used inside a `<dav:propstat>` response element to avoid repeatedly * enumerating the internal members of multiple bindings to the same collection. * * @note WebDAV */ export const AlreadyReported = 208 /** * 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. * * @note [HTTP Delta encoding](https://datatracker.ietf.org/doc/html/rfc3229) */ export const ImUsed = 226 // -------------------------------------------------------------------------- // // // // Redirects // // // // -------------------------------------------------------------------------- // /** * The request has more than one possible response. The user agent or user * should choose one of them. (There is no standardized way of choosing one of * the responses, but HTML links to the possibilities are recommended so the * user can pick.) */ export const MultipleChoices = 300 /** * The URL of the requested resource has been changed permanently. The new URL * is given in the response. */ export const MovedPermanently = 301 /** * This response code means that the URI of requested resource has been changed * temporarily. Further changes in the URI might be made in the future. * Therefore, this same URI should be used by the client in future requests. */ export const Found = 302 /** * The server sent this response to direct the client to get the requested * resource at another URI with a `GET` request. */ export const SeeOther = 303 /** * This is used for caching purposes. It tells the client that the response has * not been modified, so the client can continue to use the same cached version * of the response. */ export const NotModified = 304 /** * Defined in a previous version of the HTTP specification to indicate that a * requested response must be accessed by a proxy. It has been deprecated due * to security concerns regarding in-band configuration of a proxy. * * @deprecated */ export const UseProxy = 305 /** * This response code is no longer used; it is just reserved. It was used in a * previous version of the HTTP/1.1 specification. * * @deprecated */ export const SwitchProxy = 306 /** * The server sends this response to direct the client to get the requested * resource at another URI with same method that was used in the prior request. * This has the same semantics as the `302 Found` HTTP response code, with the * exception that the user agent must not change the HTTP method used: if a * `POST` was used in the first request, a `POST` must be used in the second * request. */ export const TemporaryRedirect = 307 /** * This means that the resource is now permanently located at another URI, * specified by the Location: HTTP Response header. This has the same semantics * as the `301 Moved Permanently` HTTP response code, with the exception that * the user agent must not change the HTTP method used: if a `POST` was used in * the first request, a `POST` must be used in the second request. */ export const PermanentRedirect = 308 // -------------------------------------------------------------------------- // // // // Client errors // // // // -------------------------------------------------------------------------- // /** * The server cannot or will not process the request due to something that is * perceived to be a client error (e.g., malformed request syntax, invalid * request message framing, or deceptive request routing). */ export const BadRequest = 400 /** * Although the HTTP standard specifies "unauthorized", semantically this * response means "unauthenticated". That is, the client must authenticate * itself to get the requested response. */ export const Unauthorized = 401 /** * This response code is reserved for future use. The initial aim for creating * this code was using it for digital payment systems, however this status code * is used very rarely and no standard convention exists. */ export const PaymentRequired = 402 /** * The client does not have access rights to the content; that is, it is * unauthorized, so the server is refusing to give the requested resource. * Unlike `401 Unauthorized`, the client's identity is known to the server. */ export const Forbidden = 403 /** * The server can not find the requested resource. In the browser, this means * the URL is not recognized. In an API, this can also mean that the endpoint * is valid but the resource itself does not exist. * * Servers may also send this response instead of `403 Forbidden` to hide the * existence of a resource from an unauthorized client. * * This response code is probably the most well known due to its frequent * occurrence on the web. */ export const NotFound = 404 /** * The request method is known by the server but is not supported by the target * resource. For example, an API may not allow calling `DELETE` to remove a * resource. */ export const MethodNotAllowed = 405 /** * This response is sent when the web server, after performing * [server-driven content negotiation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Content_negotiation#server-driven_negotiation), * doesn't find any content that conforms to the criteria given by the user * agent. */ export const NotAcceptable = 406 /** * This is similar to `401 Unauthorized` but authentication is needed to be done * by a proxy. */ export const ProxyAuthenticationRequired = 407 /** * This response is sent on an idle connection by some servers, even without any * previous request by the client. It means that the server would like to shut * down this unused connection. * * This response is used much more since some browsers, like Chrome, * Firefox 27+, or IE9, use HTTP pre-connection mechanisms to speed up surfing. * * Also note that some servers merely shut down the connection without sending * this message. */ export const RequestTimeout = 408 /** * This response is sent when a request conflicts with the current state of * the server. */ export const Conflict = 409 /** * This response is sent when the requested content has been permanently deleted * from server, with no forwarding address. Clients are expected to remove their * caches and links to the resource. The HTTP specification intends this status * code to be used for "limited-time, promotional services". * * APIs should not feel compelled to indicate resources that have been deleted * with this status code. */ export const Gone = 410 /** * Server rejected the request because the `Content-Length` header field is not * defined and the server requires it. */ export const LengthRequired = 411 /** * The client has indicated preconditions in its headers which the server does * not meet. */ export const PreconditionFailed = 412 /** * Request entity is larger than limits defined by server. The server might * close the connection or return an `Retry-After` header field. */ export const PayloadTooLarge = 413 /** * The URI requested by the client is longer than the server is willing to * interpret. */ export const UriTooLong = 414 /** * The media format of the requested data is not supported by the server, so * the server is rejecting the request. */ export const UnsupportedMediaType = 415 /** * The range specified by the `Range` header field in the request cannot be * fulfilled. It's possible that the range is outside the size of the target * URI's data. */ export const RangeNotSatisfiable = 416 /** * This response code means the expectation indicated by the `Expect` request * header field cannot be met by the server. */ export const ExpectationFailed = 417 /** * The server refuses the attempt to brew coffee with a teapot. */ export const ImAteapot = 418 /** * 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 that are included in the request URI. */ export const MisdirectedRequest = 421 /** * The request was well-formed but was unable to be followed due to semantic * errors. * * @note WebDAV */ export const UnprocessableEntity = 422 /** * The resource that is being accessed is locked. * * @note WebDAV */ export const Locked = 423 /** * The request failed due to failure of a previous request. * * @note WebDAV */ export const FailedDependency = 424 /** * Indicates that the server is unwilling to risk processing a request that * might be replayed. * * @deprecated */ export const TooEarly = 425 /** * 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. * * The server sends an [`Upgrade`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Upgrade) * header in a `426` response to indicate the required protocol(s). */ export const UpgradeRequired = 426 /** * The origin server requires the request to be conditional. This response is * intended to prevent the 'lost update' problem, where a client `GET`s a * resource's state, modifies it and PUTs it back to the server, when meanwhile * a third party has modified the state on the server, leading to a conflict. */ export const PreconditionRequired = 428 /** * The user has sent too many requests in a given amount of time * ("rate limiting"). */ export const TooManyRequests = 429 /** * The server is unwilling to process the request because its header fields are * too large. The request may be resubmitted after reducing the size of the * request header fields. */ export const RequestHeaderFieldsTooLarge = 431 /** * The user agent requested a resource that cannot legally be provided, such as * a web page censored by a government. */ export const UnavailableForLegalReasons = 451 // -------------------------------------------------------------------------- // // // // Server errors // // // // -------------------------------------------------------------------------- // /** * The server has encountered a situation it does not know how to handle. */ export const InternalServerError = 500 /** * The request method is not supported by the server and cannot be handled. * The only methods that servers are required to support (and therefore that * must not return this code) are `GET` and `HEAD`. */ export const NotImplemented = 501 /** * This error response means that the server, while working as a gateway to get * a response needed to handle the request, got an invalid response. */ export const BadGateway = 502 /** * The server is not ready to handle the request. * * Common causes are a server that is down for maintenance or that is * overloaded. Note that together with this response, a user-friendly page * explaining the problem should be sent. * * This response should be used for temporary conditions and the `Retry-After` * HTTP header should, if possible, contain the estimated time before the * recovery of the service. * * The webmaster must also take care about the caching-related headers that are * sent along with this response, as these temporary condition responses should * usually not be cached. */ export const ServiceUnavailable = 503 /** * This error response is given when the server is acting as a gateway and * cannot get a response in time. */ export const GatewayTimeout = 504 /** * The HTTP version used in the request is not supported by the server. */ export const HttpVersionNotSupported = 505 /** * The server has an internal configuration error: the chosen variant resource * is configured to engage in transparent content negotiation itself, and is * therefore not a proper end point in the negotiation process. */ export const VariantAlsoNegotiates = 506 /** * The method could not be performed on the resource because the server is * unable to store the representation needed to successfully complete the * request. * * @note WebDAV */ export const InsufficientStorage = 507 /** * The server detected an infinite loop while processing the request. * * @note WebDAV */ export const LoopDetected = 508 /** * Further extensions to the request are required for the server to fulfill it. */ export const NotExtended = 510 /** * Indicates that the client needs to authenticate to gain network access. */ export const NetworkAuthenticationRequired = 511