Line data Source code
1 : //
2 : // Copyright (c) 2021 Vinnie Falco (vinnie.falco@gmail.com)
3 : // Copyright (c) 2024 Christian Mazakas
4 : // Copyright (c) 2025 Mohammad Nejati
5 : //
6 : // Distributed under the Boost Software License, Version 1.0. (See accompanying
7 : // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 : //
9 : // Official repository: https://github.com/cppalliance/http_proto
10 : //
11 :
12 : #include <boost/http_proto/request.hpp>
13 :
14 : namespace boost {
15 : namespace http_proto {
16 :
17 38 : request::
18 38 : request() noexcept
19 : : fields_view_base(
20 38 : &this->fields_base::h_)
21 38 : , request_base()
22 : {
23 38 : }
24 :
25 204 : request::
26 : request(
27 204 : core::string_view s)
28 : : fields_view_base(
29 204 : &this->fields_base::h_)
30 204 : , request_base(s)
31 : {
32 203 : }
33 :
34 10 : request::
35 : request(
36 : std::size_t cap,
37 10 : std::size_t max_cap)
38 10 : : request()
39 : {
40 10 : reserve_bytes(cap);
41 10 : set_max_capacity_in_bytes(max_cap);
42 10 : }
43 :
44 23 : request::
45 : request(
46 23 : request&& other) noexcept
47 : : fields_view_base(
48 23 : &this->fields_base::h_)
49 23 : , request_base()
50 : {
51 23 : swap(other);
52 23 : }
53 :
54 2 : request::
55 : request(
56 2 : request const& other)
57 : : fields_view_base(
58 2 : &this->fields_base::h_)
59 2 : , request_base(*other.ph_)
60 : {
61 2 : }
62 :
63 2 : request::
64 : request(
65 2 : request_view const& other)
66 : : fields_view_base(
67 2 : &this->fields_base::h_)
68 2 : , request_base(*other.ph_)
69 : {
70 2 : }
71 :
72 : request&
73 21 : request::
74 : operator=(
75 : request&& other) noexcept
76 : {
77 : request temp(
78 21 : std::move(other));
79 21 : temp.swap(*this);
80 42 : return *this;
81 21 : }
82 :
83 : } // http_proto
84 : } // boost
|