| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 | //// 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_ERROR_HPP#define BOOST_BEAST_HTTP_ERROR_HPP#include <boost/beast/core/detail/config.hpp>#include <boost/beast/core/error.hpp>namespace boost {namespace beast {namespace http {/// Error codes returned from HTTP algorithms and operations.enum class error{    /** The end of the stream was reached.        This error is returned when attempting to read HTTP data,        and the stream returns the error `net::error::eof`        before any octets corresponding to a new HTTP message have        been received.    */    end_of_stream = 1,    /** The incoming message is incomplete.        This happens when the end of stream is reached during        parsing and some octets have been received, but not the        entire message.    */    partial_message,    /** Additional buffers are required.        This error is returned during parsing when additional        octets are needed. The caller should append more data        to the existing buffer and retry the parse operaetion.    */    need_more,    /** An unexpected body was encountered during parsing.        This error is returned when attempting to parse body        octets into a message container which has the        @ref empty_body body type.        @see empty_body    */    unexpected_body,    /** Additional buffers are required.        This error is returned under the following conditions:        @li During serialization when using @ref buffer_body.        The caller should update the body to point to a new        buffer or indicate that there are no more octets in        the body.        @li During parsing when using @ref buffer_body.        The caller should update the body to point to a new        storage area to receive additional body octets.    */    need_buffer,    /** The end of a chunk was reached    */    end_of_chunk,    /** Buffer maximum exceeded.        This error is returned when reading HTTP content        into a dynamic buffer, and the operation would        exceed the maximum size of the buffer.    */    buffer_overflow,    /** Header limit exceeded.        The parser detected an incoming message header which        exceeded a configured limit.    */    header_limit,    /** Body limit exceeded.        The parser detected an incoming message body which        exceeded a configured limit.    */    body_limit,    /** A memory allocation failed.        When basic_fields throws std::bad_alloc, it is        converted into this error by @ref parser.    */    bad_alloc,    //    // (parser errors)    //    /// The line ending was malformed    bad_line_ending,    /// The method is invalid.    bad_method,    /// The request-target is invalid.    bad_target,    /// The HTTP-version is invalid.    bad_version,    /// The status-code is invalid.    bad_status,    /// The reason-phrase is invalid.    bad_reason,    /// The field name is invalid.    bad_field,    /// The field value is invalid.    bad_value,    /// The Content-Length is invalid.    bad_content_length,    /// The Transfer-Encoding is invalid.    bad_transfer_encoding,    /// The chunk syntax is invalid.    bad_chunk,    /// The chunk extension is invalid.    bad_chunk_extension,    /// An obs-fold exceeded an internal limit.    bad_obs_fold,    /** The parser is stale.        This happens when attempting to re-use a parser that has        already completed parsing a message. Programs must construct        a new parser for each message. This can be easily done by        storing the parser in an boost or std::optional container.    */    stale_parser,    /** The message body is shorter than expected.        This error is returned by @ref file_body when an unexpected        unexpected end-of-file condition is encountered while trying        to read from the file.    */    short_read};} // http} // beast} // boost#include <boost/beast/http/impl/error.hpp>#ifdef BOOST_BEAST_HEADER_ONLY#include <boost/beast/http/impl/error.ipp>#endif#endif
 |