Vinnie Falco
3c4ae2a098
Rename to message::base (API Change):
...
Actions Required:
* Change calls to message::header_part() with message::base()
2017-07-20 08:15:29 -07:00
Vinnie Falco
7abe6f6e09
Serialize in one step when possible
...
fix #546
2017-07-20 08:15:29 -07:00
Vinnie Falco
58d42cc803
Use BEAST_FALLTHROUGH to silence warnings
...
fix #545
2017-07-20 08:15:29 -07:00
Vinnie Falco
f3eaa409d1
basic_parser optimizations
2017-07-20 08:15:29 -07:00
Vinnie Falco
2d6859831c
Optimize field lookups
2017-07-20 08:15:29 -07:00
Vinnie Falco
43f8bb841a
bad_target replaces bad_path (API Change):
...
Actions Required:
* Replace references to http::error::bad_path with http::error::bad_target
2017-07-20 08:15:29 -07:00
Vinnie Falco
90b51c5f79
Small speed up in fields comparisons
2017-07-20 08:15:29 -07:00
Vinnie Falco
edeb44617b
Remove BodyReader::is_deferred (API Change):
...
The is_deferred nested type is removed from the BodyReader
requirements.
Performance for sending messages with `file_body` was cut
almost in half with is_deferred as `std::true_type` since
it caused double the number of socket writes. If the
deferred behavior is absolutely necessary, callers can get
the same effect by manually sending the headers first.
Actions Required:
* Callers who need the behavior of is_deferred as `std::true_type`
should manually construct a serializer and serialize the header
first, followed by the body.
2017-07-20 08:15:29 -07:00
Vinnie Falco
bf59634bc2
Change BodyReader, BodyWriter requirements (API Change):
...
Actions Required:
* Change user defined instances of BodyReader and BodyWriter
to meet the new requirements.
2017-07-20 08:15:29 -07:00
Vinnie Falco
522d3bf378
basic_fields optimizations
2017-07-20 08:15:28 -07:00
Vinnie Falco
9f7f36a3e9
Add header aliases
2017-07-20 08:15:28 -07:00
Vinnie Falco
c2d3532da2
Tidy up message piecewise ctors
2017-07-20 08:15:28 -07:00
Vinnie Falco
dab5d3bc12
Handle bad_alloc in parser
2017-07-20 08:15:28 -07:00
Vinnie Falco
f2e8af23f4
Fix costly potential value-init in parser
2017-07-20 08:15:28 -07:00
Vinnie Falco
86244c8dcf
Add serializer request/response aliases
2017-07-20 08:15:28 -07:00
Vinnie Falco
518ae23383
string_param optimizations
2017-07-20 08:15:28 -07:00
Vinnie Falco
8f4e7fd0a0
Fix unused variable warnings
2017-07-20 08:15:28 -07:00
Vinnie Falco
e477574681
Remove make_serializer (API Change):
...
Actions Required:
* Replace calls to make_serializer with variable declarations
2017-07-20 08:15:28 -07:00
Vinnie Falco
b2ab40f09c
Doc tidying
...
fix #521 , fix #524
2017-07-20 08:15:28 -07:00
Vinnie Falco
bd4d1cbe91
async_write requires a non-const message:
...
This is necessary to meet the requirements for
asynchronous operations:
http://www.boost.org/doc/libs/1_64_0/doc/html/boost_asio/reference/asynchronous_operations.html
Specifically, that the caller must ensure the validity of the message
argument until the handler is invoked.
object
2017-07-20 08:15:28 -07:00
Vinnie Falco
5613ce7e97
Add http::is_fields trait
...
fix #515
2017-07-20 08:15:27 -07:00
Vinnie Falco
56a561da9a
message::prepare_payload replaces message::prepare (API Change):
...
Actions Required:
* Change calls to msg.prepare to msg.prepare_payload. For messages
with a user-defined Fields, provide the function prepare_payload_impl
in the fields type according to the Fields requirements.
2017-07-20 08:15:27 -07:00
Vinnie Falco
f9f6e1e0cc
Refine FieldsReader concept (API Change)
...
* FieldsReader now requires chunked() and keep_alive()
* serializer logic calls into the reader to calculate
the message metadata
* Removed some of the previous requirements of FieldsReader
Actions Required:
* Implement chunked() and keep_alive() for user defined FieldsReader types.
2017-07-20 08:15:27 -07:00
Vinnie Falco
50902c3938
parser requires basic_fields (API Change):
...
* `parser` is now templated on Allocator
* `parser` only produces messages using `basic_fields<Allocator>`
as the Fields type.
* message-oriented read and async_read only work on messages
using basic_fields as the Fields type.
Actions Required:
* Callers using `parser` with Fields types other than basic_fields
will need to create their own subclass of basic_parser to work
with their custom fields type.
2017-07-20 08:15:27 -07:00
Vinnie Falco
4d393f4c2a
Clear the error faster
2017-07-20 08:15:27 -07:00
Vinnie Falco
8f627b0748
Fix shadowing warnings
...
fix #510
2017-07-20 08:15:27 -07:00
Vinnie Falco
c8b8439ebc
Tidy up names in error categories
2017-07-20 08:15:27 -07:00
Vinnie Falco
5a2d78849f
status-codes is unsigned (API Change)
2017-07-20 08:15:27 -07:00
Vinnie Falco
798ff25795
header::version is unsigned (API Change)
2017-07-20 08:15:27 -07:00
Vinnie Falco
8c3cc96a27
Add message::header_part()
2017-07-20 08:15:27 -07:00
Vinnie Falco
b5306a5712
String comparisons are public interfaces
2017-07-20 08:15:26 -07:00
Vinnie Falco
611e610c0c
Change Body::size signature (API Change):
...
fix #497
This changes the function signature to accept the `value_type`
instead of the entire message.
Actions Required:
* For any user-defined models of Body, change the function signature
to accept `value_type const&` and modify the function definition
accordingly.
2017-07-20 08:15:26 -07:00
Vinnie Falco
e5a7ff300f
Better message formal parameter names
...
fix #476
2017-07-20 08:15:26 -07:00
Vinnie Falco
dba4be01ab
Fix parsing chunk size with leading zeroes
...
fix #496
2017-07-20 08:15:26 -07:00
Vinnie Falco
5808fa247b
Remove redundant code
2017-07-20 08:15:26 -07:00
Vinnie Falco
500fa6aaaa
Use static string in basic_fields::reader
...
fix #493
2017-07-20 08:15:26 -07:00
Vinnie Falco
b4c2073973
basic_parser::put doc
...
fix #494
2017-07-20 08:15:26 -07:00
Vinnie Falco
648d1bc789
basic_fields::set optimization:
...
fix #495
2017-07-20 08:15:26 -07:00
Vinnie Falco
f64109d79a
Fix basic_fields insert ordering
2017-07-20 08:15:26 -07:00
Vinnie Falco
eb7e971c7a
Renamed to basic_fields::set (API Change):
...
* `replace` is renamed to `set`
Actions Required:
* Rename calls to `basic_fields::replace` to `basic_fields::set`
2017-07-20 08:15:26 -07:00
Vinnie Falco
6531a3c6d3
Specification for http read
2017-07-20 08:15:26 -07:00
Vinnie Falco
02419f53fa
Qualify size_t in message template
2017-07-20 08:15:26 -07:00
Vinnie Falco
164569157a
Update doc/ for docca
2017-07-20 08:15:26 -07:00
Vinnie Falco
8fa756aee6
Documentation work
2017-07-20 08:12:20 -07:00
Vinnie Falco
61a83ba769
Fix message.hpp javadocs
2017-07-20 08:12:20 -07:00
Vinnie Falco
ca109693fb
Reset error codes
...
fix #478
2017-07-20 08:12:20 -07:00
Vinnie Falco
5058217c35
HTTP/1 is the default version
...
fix #482
2017-07-20 08:12:20 -07:00
Vinnie Falco
0eb3a6b77e
Call on_chunk when the extension is empty
...
fix #435
2017-07-20 08:12:20 -07:00
Vinnie Falco
7712ca09b2
Add string_view_body
2017-07-20 08:12:20 -07:00
Vinnie Falco
0f54bc72a4
Add provisional IANA header field names
...
fix #473
2017-07-20 08:12:20 -07:00