Skip to content

Commit ba117d7

Browse files
committed
Refactored HTTP constants.
1 parent 27438f2 commit ba117d7

File tree

5 files changed

+39
-45
lines changed

5 files changed

+39
-45
lines changed

boost/network/constants.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
namespace boost {
1010
namespace network {
11-
template <class Tag>
1211
struct constants {
1312

1413
static char const* crlf() {

boost/network/protocol/http/algorithms/linearize.hpp

Lines changed: 33 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,9 @@ struct linearize_header {
4343
template <class ValueType>
4444
string_type operator()(ValueType& header) {
4545
typedef std::ostringstream output_stream;
46-
typedef constants<Tag> consts;
4746
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();
5049
return header_line.str();
5150
}
5251
};
@@ -57,36 +56,35 @@ OutputIterator linearize(Request const& request,
5756
unsigned version_major, unsigned version_minor,
5857
OutputIterator oi) {
5958
typedef typename Request::tag Tag;
60-
typedef constants<Tag> consts;
6159
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(),
6664
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();
7068
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();
7472
}
7573
boost::copy(request.path(), oi);
7674
if (!request.query().empty()) {
77-
*oi = consts::question_mark_char();
75+
*oi = constants::question_mark_char();
7876
boost::copy(request.query(), oi);
7977
}
8078
if (!request.anchor().empty()) {
81-
*oi = consts::hash_char();
79+
*oi = constants::hash_char();
8280
boost::copy(request.anchor(), oi);
8381
}
84-
*oi = consts::space_char();
82+
*oi = constants::space_char();
8583
boost::copy(http_slash, oi);
8684
string_type version_major_str = std::to_string(version_major),
8785
version_minor_str = std::to_string(version_minor);
8886
boost::copy(version_major_str, oi);
89-
*oi = consts::dot_char();
87+
*oi = constants::dot_char();
9088
boost::copy(version_minor_str, oi);
9189
boost::copy(crlf, oi);
9290

@@ -96,12 +94,12 @@ OutputIterator linearize(Request const& request,
9694
enum { ACCEPT, ACCEPT_ENCODING, HOST, CONNECTION, MAX };
9795
std::bitset<MAX> found_headers;
9896
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())}};
105103

106104
typedef typename headers_range<Request>::type headers_range;
107105
typedef typename range_value<headers_range>::type headers_value;
@@ -121,16 +119,16 @@ OutputIterator linearize(Request const& request,
121119
// We ignore empty headers.
122120
if (header_value.empty()) continue;
123121
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();
126124
boost::copy(header_value, oi);
127125
boost::copy(crlf, oi);
128126
}
129127

130128
if (!found_headers[HOST]) {
131129
boost::copy(host, oi);
132-
*oi = consts::colon_char();
133-
*oi = consts::space_char();
130+
*oi = constants::colon_char();
131+
*oi = constants::space_char();
134132
boost::copy(request.host(), oi);
135133
boost::optional<std::uint16_t> port_ =
136134
#if (_MSC_VER >= 1600 && BOOST_VERSION > 105500)
@@ -140,33 +138,33 @@ OutputIterator linearize(Request const& request,
140138
#endif
141139
if (port_) {
142140
string_type port_str = std::to_string(*port_);
143-
*oi = consts::colon_char();
141+
*oi = constants::colon_char();
144142
boost::copy(port_str, oi);
145143
}
146144
boost::copy(crlf, oi);
147145
}
148146

149147
if (!found_headers[ACCEPT]) {
150148
boost::copy(accept, oi);
151-
*oi = consts::colon_char();
152-
*oi = consts::space_char();
149+
*oi = constants::colon_char();
150+
*oi = constants::space_char();
153151
boost::copy(accept_mime, oi);
154152
boost::copy(crlf, oi);
155153
}
156154

157155
if (version_major == 1u && version_minor == 1u &&
158156
!found_headers[ACCEPT_ENCODING]) {
159157
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();
162160
boost::copy(default_accept_encoding, oi);
163161
boost::copy(crlf, oi);
164162
}
165163

166164
if (!connection_keepalive<Tag>::value && !found_headers[CONNECTION]) {
167165
boost::copy(connection, oi);
168-
*oi = consts::colon_char();
169-
*oi = consts::space_char();
166+
*oi = constants::colon_char();
167+
*oi = constants::space_char();
170168
boost::copy(close, oi);
171169
boost::copy(crlf, oi);
172170
}

boost/network/protocol/http/client/connection/async_protocol_handler.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ struct http_async_protocol_handler {
8888
typedef std::string string_type;
8989
template <class U>
9090
string_type const operator()(U const& pair) const {
91-
typedef constants<Tag> constants;
9291
std::ostringstream header_line;
9392
header_line << pair.first << constants::colon() << constants::space()
9493
<< pair.second << constants::crlf();

boost/network/protocol/http/impl/request.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,7 @@ struct basic_request : public basic_message<Tag> {
8383
return uri_.port<std::uint16_t>();
8484
}
8585
else {
86-
typedef constants<Tag> consts;
87-
return boost::iequals(uri_.scheme(), string_type(consts::https())) ? 443 : 80;
86+
return boost::iequals(uri_.scheme(), string_type(constants::https())) ? 443 : 80;
8887
}
8988
}
9089

boost/network/protocol/http/server/async_connection.hpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -230,20 +230,19 @@ struct async_connection
230230
if (error_encountered)
231231
boost::throw_exception(std::system_error(*error_encountered));
232232

233-
typedef constants<Tag> consts;
234233
{
235234
std::ostream stream(&headers_buffer);
236-
stream << consts::http_slash() << 1 << consts::dot() << 1
237-
<< consts::space() << status << consts::space()
238-
<< status_message(status) << consts::crlf();
235+
stream << constants::http_slash() << 1 << constants::dot() << 1
236+
<< constants::space() << status << constants::space()
237+
<< status_message(status) << constants::crlf();
239238
if (!boost::empty(headers)) {
240239
typedef std::string string_type;
241240
boost::transform(headers, std::ostream_iterator<string_type>(stream),
242241
linearize_header<Tag>());
243242
} else {
244-
stream << consts::crlf();
243+
stream << constants::crlf();
245244
}
246-
stream << consts::crlf();
245+
stream << constants::crlf();
247246
}
248247

249248
auto self = this->shared_from_this();

0 commit comments

Comments
 (0)