Line data Source code
1 : // 2 : // Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com) 3 : // 4 : // Distributed under the Boost Software License, Version 1.0. (See accompanying 5 : // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 : // 7 : // Official repository: https://github.com/cppalliance/http_proto 8 : // 9 : 10 : #ifndef BOOST_HTTP_PROTO_REQUEST_PARSER_HPP 11 : #define BOOST_HTTP_PROTO_REQUEST_PARSER_HPP 12 : 13 : #include <boost/http_proto/detail/config.hpp> 14 : #include <boost/http_proto/error.hpp> 15 : #include <boost/http_proto/method.hpp> 16 : #include <boost/http_proto/parser.hpp> 17 : #include <boost/http_proto/request_view.hpp> 18 : #include <cstddef> 19 : #include <utility> 20 : 21 : namespace boost { 22 : namespace http_proto { 23 : 24 : class BOOST_SYMBOL_VISIBLE 25 : request_parser 26 : : public parser 27 : { 28 : public: 29 : /** Configuration settings for parsing requests 30 : */ 31 : struct config : config_base 32 : { 33 : /** Constructor 34 : */ 35 21 : config() noexcept 36 21 : { 37 21 : body_limit = 64 * 1024; 38 21 : } 39 : }; 40 : 41 : /** Constructor 42 : */ 43 : BOOST_HTTP_PROTO_DECL 44 : explicit 45 : request_parser(context&); 46 : 47 : /** Return the parsed request headers. 48 : */ 49 : BOOST_HTTP_PROTO_DECL 50 : request_view 51 : get() const; 52 : }; 53 : 54 : } // http_proto 55 : } // boost 56 : 57 : #endif