123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- //
- // Copyright (c) 2016-2019 Vinnie Falco (vinnie dot falco at gmail dot com)
- //
- // Distributed under the Boost Software License, Version 1.0. (See accompanying
- // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- //
- // Official repository: https://github.com/boostorg/beast
- //
- #ifndef BOOST_BEAST_HTTP_STATUS_HPP
- #define BOOST_BEAST_HTTP_STATUS_HPP
- #include <boost/beast/core/detail/config.hpp>
- #include <boost/beast/core/string.hpp>
- #include <iosfwd>
- namespace boost {
- namespace beast {
- namespace http {
- enum class status : unsigned
- {
- /** An unknown status-code.
- This value indicates that the value for the status code
- is not in the list of commonly recognized status codes.
- Callers interested in the exactly value should use the
- interface which provides the raw integer.
- */
- unknown = 0,
- continue_ = 100,
- /** Switching Protocols
- This status indicates that a request to switch to a new
- protocol was accepted and applied by the server. A successful
- response to a WebSocket Upgrade HTTP request will have this
- code.
- */
- switching_protocols = 101,
- processing = 102,
- 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,
- payload_too_large = 413,
- uri_too_long = 414,
- unsupported_media_type = 415,
- range_not_satisfiable = 416,
- expectation_failed = 417,
- misdirected_request = 421,
- unprocessable_entity = 422,
- locked = 423,
- failed_dependency = 424,
- upgrade_required = 426,
- precondition_required = 428,
- too_many_requests = 429,
- request_header_fields_too_large = 431,
- connection_closed_without_response = 444,
- unavailable_for_legal_reasons = 451,
- client_closed_request = 499,
- 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,
- network_connect_timeout_error = 599
- };
- /** Represents the class of a status-code.
- */
- enum class status_class : unsigned
- {
- /// Unknown status-class
- unknown = 0,
- /// The request was received, continuing processing.
- informational = 1,
- /// The request was successfully received, understood, and accepted.
- successful = 2,
- /// Further action needs to be taken in order to complete the request.
- redirection = 3,
- /// The request contains bad syntax or cannot be fulfilled.
- client_error = 4,
- /// The server failed to fulfill an apparently valid request.
- server_error = 5,
- };
- /** Converts the integer to a known status-code.
- If the integer does not match a known status code,
- @ref status::unknown is returned.
- */
- BOOST_BEAST_DECL
- status
- int_to_status(unsigned v);
- /** Convert an integer to a status_class.
- @param v The integer representing a status code.
- @return The status class. If the integer does not match
- a known status class, @ref status_class::unknown is returned.
- */
- BOOST_BEAST_DECL
- status_class
- to_status_class(unsigned v);
- /** Convert a status_code to a status_class.
- @param v The status code to convert.
- @return The status class.
- */
- BOOST_BEAST_DECL
- status_class
- to_status_class(status v);
- /** Returns the obsolete reason-phrase text for a status code.
- @param v The status code to use.
- */
- BOOST_BEAST_DECL
- string_view
- obsolete_reason(status v);
- /// Outputs the standard reason phrase of a status code to a stream.
- BOOST_BEAST_DECL
- std::ostream&
- operator<<(std::ostream&, status);
- } // http
- } // beast
- } // boost
- #ifdef BOOST_BEAST_HEADER_ONLY
- #include <boost/beast/http/impl/status.ipp>
- #endif
- #endif
|