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
|