@@ -43,10 +43,9 @@ struct linearize_header {
43
43
template <class ValueType >
44
44
string_type operator ()(ValueType& header) {
45
45
typedef std::ostringstream output_stream;
46
- typedef constants<Tag> consts;
47
46
output_stream header_line;
48
- header_line << name (header) << consts ::colon () << consts ::space ()
49
- << value (header) << consts ::crlf ();
47
+ header_line << name (header) << constants ::colon () << constants ::space ()
48
+ << value (header) << constants ::crlf ();
50
49
return header_line.str ();
51
50
}
52
51
};
@@ -57,36 +56,35 @@ OutputIterator linearize(Request const& request,
57
56
unsigned version_major, unsigned version_minor,
58
57
OutputIterator oi) {
59
58
typedef typename Request::tag Tag;
60
- typedef constants<Tag> consts;
61
59
typedef std::string string_type;
62
- static string_type http_slash = consts ::http_slash (),
63
- accept = consts ::accept (),
64
- accept_mime = consts ::default_accept_mime (),
65
- accept_encoding = consts ::accept_encoding (),
60
+ static string_type http_slash = constants ::http_slash (),
61
+ accept = constants ::accept (),
62
+ accept_mime = constants ::default_accept_mime (),
63
+ accept_encoding = constants ::accept_encoding (),
66
64
default_accept_encoding =
67
- consts ::default_accept_encoding (),
68
- crlf = consts ::crlf (), host = consts ::host (),
69
- connection = consts ::connection (), close = consts ::close ();
65
+ constants ::default_accept_encoding (),
66
+ crlf = constants ::crlf (), host = constants ::host (),
67
+ connection = constants ::connection (), close = constants ::close ();
70
68
boost::copy (method, oi);
71
- *oi = consts ::space_char ();
72
- if (request.path ().empty () || request.path ()[0 ] != consts ::slash_char ()) {
73
- *oi = consts ::slash_char ();
69
+ *oi = constants ::space_char ();
70
+ if (request.path ().empty () || request.path ()[0 ] != constants ::slash_char ()) {
71
+ *oi = constants ::slash_char ();
74
72
}
75
73
boost::copy (request.path (), oi);
76
74
if (!request.query ().empty ()) {
77
- *oi = consts ::question_mark_char ();
75
+ *oi = constants ::question_mark_char ();
78
76
boost::copy (request.query (), oi);
79
77
}
80
78
if (!request.anchor ().empty ()) {
81
- *oi = consts ::hash_char ();
79
+ *oi = constants ::hash_char ();
82
80
boost::copy (request.anchor (), oi);
83
81
}
84
- *oi = consts ::space_char ();
82
+ *oi = constants ::space_char ();
85
83
boost::copy (http_slash, oi);
86
84
string_type version_major_str = std::to_string (version_major),
87
85
version_minor_str = std::to_string (version_minor);
88
86
boost::copy (version_major_str, oi);
89
- *oi = consts ::dot_char ();
87
+ *oi = constants ::dot_char ();
90
88
boost::copy (version_minor_str, oi);
91
89
boost::copy (crlf, oi);
92
90
@@ -96,12 +94,12 @@ OutputIterator linearize(Request const& request,
96
94
enum { ACCEPT, ACCEPT_ENCODING, HOST, CONNECTION, MAX };
97
95
std::bitset<MAX> found_headers;
98
96
static char const * defaulted_headers[][2 ] = {
99
- {consts ::accept (), consts ::accept () + std::strlen (consts ::accept ())},
100
- {consts ::accept_encoding (),
101
- consts ::accept_encoding () + std::strlen (consts ::accept_encoding ())},
102
- {consts ::host (), consts ::host () + std::strlen (consts ::host ())},
103
- {consts ::connection (),
104
- consts ::connection () + std::strlen (consts ::connection ())}};
97
+ {constants ::accept (), constants ::accept () + std::strlen (constants ::accept ())},
98
+ {constants ::accept_encoding (),
99
+ constants ::accept_encoding () + std::strlen (constants ::accept_encoding ())},
100
+ {constants ::host (), constants ::host () + std::strlen (constants ::host ())},
101
+ {constants ::connection (),
102
+ constants ::connection () + std::strlen (constants ::connection ())}};
105
103
106
104
typedef typename headers_range<Request>::type headers_range;
107
105
typedef typename range_value<headers_range>::type headers_value;
@@ -121,16 +119,16 @@ OutputIterator linearize(Request const& request,
121
119
// We ignore empty headers.
122
120
if (header_value.empty ()) continue ;
123
121
boost::copy (header_name, oi);
124
- *oi = consts ::colon_char ();
125
- *oi = consts ::space_char ();
122
+ *oi = constants ::colon_char ();
123
+ *oi = constants ::space_char ();
126
124
boost::copy (header_value, oi);
127
125
boost::copy (crlf, oi);
128
126
}
129
127
130
128
if (!found_headers[HOST]) {
131
129
boost::copy (host, oi);
132
- *oi = consts ::colon_char ();
133
- *oi = consts ::space_char ();
130
+ *oi = constants ::colon_char ();
131
+ *oi = constants ::space_char ();
134
132
boost::copy (request.host (), oi);
135
133
boost::optional<std::uint16_t > port_ =
136
134
#if (_MSC_VER >= 1600 && BOOST_VERSION > 105500)
@@ -140,33 +138,33 @@ OutputIterator linearize(Request const& request,
140
138
#endif
141
139
if (port_) {
142
140
string_type port_str = std::to_string (*port_);
143
- *oi = consts ::colon_char ();
141
+ *oi = constants ::colon_char ();
144
142
boost::copy (port_str, oi);
145
143
}
146
144
boost::copy (crlf, oi);
147
145
}
148
146
149
147
if (!found_headers[ACCEPT]) {
150
148
boost::copy (accept, oi);
151
- *oi = consts ::colon_char ();
152
- *oi = consts ::space_char ();
149
+ *oi = constants ::colon_char ();
150
+ *oi = constants ::space_char ();
153
151
boost::copy (accept_mime, oi);
154
152
boost::copy (crlf, oi);
155
153
}
156
154
157
155
if (version_major == 1u && version_minor == 1u &&
158
156
!found_headers[ACCEPT_ENCODING]) {
159
157
boost::copy (accept_encoding, oi);
160
- *oi = consts ::colon_char ();
161
- *oi = consts ::space_char ();
158
+ *oi = constants ::colon_char ();
159
+ *oi = constants ::space_char ();
162
160
boost::copy (default_accept_encoding, oi);
163
161
boost::copy (crlf, oi);
164
162
}
165
163
166
164
if (!connection_keepalive<Tag>::value && !found_headers[CONNECTION]) {
167
165
boost::copy (connection, oi);
168
- *oi = consts ::colon_char ();
169
- *oi = consts ::space_char ();
166
+ *oi = constants ::colon_char ();
167
+ *oi = constants ::space_char ();
170
168
boost::copy (close, oi);
171
169
boost::copy (crlf, oi);
172
170
}
0 commit comments