Vinnie Falco
df8d306909
Tidy up documentation:
...
fix #135
* Fix broken references
* Move doc debug headers to extras/
* Add rfc7230 utility classes to quick reference
2016-10-20 17:22:37 -04:00
Vinnie Falco
47105f8454
Tidy up basic_headers for documentation
2016-10-20 17:22:36 -04:00
Vinnie Falco
ada1f60e3e
Refine message class hierarchy:
...
Two new objects, request_headers and response_headers,
represent the portion of HTTP messages excluding the body.
2016-10-20 17:22:36 -04:00
Vinnie Falco
cf43f516d2
Rework HTTP concepts (API Change):
...
fix #139 , fix #140
* Writer uses write instead of operator()
* Refactor traits to use void_t
* Remove is_ReadableBody, is_WritableBody
* Add has_reader, has_writer, is_Reader, is_Writer
* More friendly compile errors on failed concept checks
2016-10-17 11:11:57 -04:00
Vinnie Falco
8a261ca923
HTTP Reader (API Change):
...
fix #114 , fix #117 , fix #136
* Added init() to Reader requirements
* Reader must be nothrow constructible
* Reader is now constructed right before reading the body
- The message passed on construction is filled in
2016-10-17 11:11:57 -04:00
Vinnie Falco
183055a74c
Parser callbacks may not throw (API Change)
2016-10-17 11:11:56 -04:00
Vinnie Falco
ebebe52612
Add basic_streambuf::alloc_size
...
fix #133
2016-10-17 11:11:56 -04:00
Vinnie Falco
c9cd171c19
Fix basic_streambuf::capacity
2016-10-17 11:11:56 -04:00
Vinnie Falco
0eb0e485c3
Tidying:
...
fix #85
* Remove unnecessary boost/system includes
* Remove unused headers_type from write_preparation
* Use braced-init style construction
* handler_alloc doc update
2016-10-17 11:11:51 -04:00
Evgeniy
c5c436d5a3
Change implicit_value to default_value
2016-10-17 11:11:33 -04:00
Vinnie Falco
01f939d68e
Set version to 1.0.0-b16
2016-10-14 16:14:05 -04:00
Vinnie Falco
206d0a9b65
Fix websocket failure tests
2016-10-14 16:13:59 -04:00
Vinnie Falco
6b4fb28cee
Fix Writer exemplar in docs
2016-10-14 15:03:58 -04:00
Vinnie Falco
4224a3a2db
Relax ForwardIterator requirements in FieldSequence
2016-10-14 15:03:58 -04:00
Vinnie Falco
14d7f8d362
Refactor base_parser_v1 callback traits:
...
When the derived class provides a member function with the
corresponding callback name, but the signature is different,
a compile error will be generated instead of silently ignoring
the member function.
2016-10-14 14:12:43 -04:00
Vinnie Falco
d81234435f
Add pause option to on_headers interface:
...
* on_headers returns enum body_what
* body_what::pause lets caller receive headers during the parse
2016-10-14 14:12:42 -04:00
Vinnie Falco
c59bd53f48
Improve first line serialization
2016-10-14 14:12:42 -04:00
Vinnie Falco
78ff20b005
Constrain parser_v1 constructor
2016-10-14 14:12:42 -04:00
Vinnie Falco
2765a67594
Refine Parser concept:
...
* Parser is not HTTP-specific
* parse algorithms are in their own header
* Update documentation
2016-10-14 14:12:41 -04:00
Vinnie Falco
c329d33c4b
Fix on_headers called twice from basic_parser_v1
2016-10-14 14:08:58 -04:00
Vinnie Falco
55c4c9361a
Put back missing Design section in docs
2016-10-14 14:08:58 -04:00
Vinnie Falco
90cec54524
Make auto_fragment a boolean option
2016-10-14 14:08:57 -04:00
Vinnie Falco
03642fb585
Rename to write_buffer_size
2016-10-14 14:08:57 -04:00
Vinnie Falco
0ca8964fe0
Frame processing routines are member functions
2016-10-14 14:08:57 -04:00
Vinnie Falco
d99dfb38de
Make value optional in param-list
2016-10-14 14:08:56 -04:00
Vinnie Falco
325f579a1d
Set version to 1.0.0-b15
2016-10-08 01:30:15 -04:00
Radoslaw Zarzynski
c54762ae1a
Fix handling empty HTTP headers in parser_v1.hpp
...
This patch rectifies flush() of beast::http::parser_v1
to properly handle the case when an HTTP header has
empty value.
Without the fix an empty-valued HTTP header is being
concatenated with the header directly following it.
This situation can be replicated using eg. curl:
curl <url> -H "X-First;" -H "X-Second: bla"
What Beast's client would see is a single header named
as "X-FirstX-Second".
2016-10-08 01:30:10 -04:00
Vinnie Falco
c39cc068ff
Regression test for empty headers
2016-10-08 01:30:10 -04:00
Vinnie Falco
60e637bd69
Tidy up error types:
...
* Restructure header material
* Clean up namespace type injections
* Remove extraneous 'success' constants
2016-10-08 01:30:10 -04:00
Vinnie Falco
d54d597f76
Tidy up DynamicBuffer requirements
2016-10-08 01:30:10 -04:00
Vinnie Falco
707fb5eb83
Fix doc reference section
2016-10-08 01:30:10 -04:00
Vinnie Falco
38af0f73d8
Fix message_v1 constructor
2016-10-08 01:30:10 -04:00
Vinnie Falco
027c4e8812
Add Secure WebSocket example
2016-10-08 01:30:10 -04:00
Vinnie Falco
5baaa49aee
Add HTTPS example
2016-10-08 01:30:10 -04:00
Vinnie Falco
076456bdcc
rfc7230 section 3.3.2 compliance
2016-10-08 01:30:10 -04:00
Vinnie Falco
a09a044df0
Use bin/sh
2016-10-08 01:30:10 -04:00
Vinnie Falco
1ff192db02
Update README.md for CppCon 2016 presentation
2016-10-07 23:30:01 -04:00
Vinnie Falco
70b8555cdc
Set version to 1.0.0-b14
2016-09-29 13:03:53 -04:00
Vinnie Falco
b4a8342795
Update and tidy documentation
2016-09-29 13:03:36 -04:00
Vinnie Falco
8607af5efe
Update README.md
2016-09-29 13:03:35 -04:00
Vinnie Falco
4abb43edc0
Use BOOST_ASSERT
2016-09-29 13:03:35 -04:00
Vinnie Falco
b5bffee130
Don't rely on undefined behavior
2016-09-29 13:03:34 -04:00
Vinnie Falco
8ee7a21a88
Better WebSocket decorator:
...
* Caller provided type can omit one or both overloads
* Omitted overloads yield default behavior
* Documentation no longer refers to a detail type
2016-09-29 13:03:34 -04:00
Evgeniy
38f0d950b0
Update build scripts for MSVC, MinGW
2016-09-29 13:03:34 -04:00
Evgeniy
2a5b116530
Fix error handling in server examples
2016-09-29 13:03:33 -04:00
Vinnie Falco
4c7065a80a
Add missing rebind to handler_alloc
2016-09-29 13:03:32 -04:00
Vinnie Falco
2f9a8440c2
Set version to 1.0.0-b13
2016-09-02 16:56:33 -04:00
Vinnie Falco
a40dd2690a
Better dstream:
...
* non-Windows dstream is a simple reference alias
* dstream constructor takes a target ostream argument
* dstream inherits the unitbuf setting of the target stream
2016-09-02 16:56:19 -04:00
Vinnie Falco
104f12a9e2
Tidy up CMakeLists
2016-09-02 10:38:43 -04:00
Vinnie Falco
e499743cdd
Remove bin and bin64 directories:
...
These directories are removed, to make it easier for developers
to delete the entire directory contents when rebuilding CMake targets
after a configuration change.
2016-09-02 10:01:32 -04:00