Commit Graph

289 Commits

Author SHA1 Message Date
Vinnie Falco e18efedcd1 Documentation work 2017-06-04 14:51:40 -07:00
Vinnie Falco d77e42363c Set version to 48 2017-06-04 06:51:25 -07:00
Vinnie Falco d3a5a05424 Documentation work 2017-06-03 21:03:05 -07:00
Vinnie Falco acf18fba1b Tidy up traits
fix #406
2017-06-03 18:40:20 -07:00
Vinnie Falco 6cb188ea45 Remove detail::sync_ostream
fix #418
2017-06-03 18:25:15 -07:00
Vinnie Falco d6092bc5c8 Documentation work 2017-06-03 14:33:16 -07:00
Vinnie Falco 4707b21a68 Rename to parser (API Change):
* message_parser is renamed to parser
2017-06-03 11:29:49 -07:00
Vinnie Falco 3cb385dc2d Consolidate parsers to parser.hpp
fix #405
2017-06-03 11:29:48 -07:00
Vinnie Falco 7cb442cd89 Make buffer_prefix_view public
fix #408
2017-06-03 11:29:48 -07:00
Vinnie Falco ef0b121c59 Rename to buffer_cat_view (API Change)
fix #408
2017-06-03 11:29:48 -07:00
Vinnie Falco b9df187557 Tidy up chunk decorator (API Change):
* Rename to no_chunk_decorator
* Decorator no longer has to append "\r\n" to the returned string
2017-06-03 11:29:41 -07:00
Vinnie Falco 458fa7e4e2 Set version to 47 2017-06-03 00:14:55 -07:00
Vinnie Falco 1ee3013261 Fix leak in basic_flat_buffer 2017-06-03 00:14:49 -07:00
Vinnie Falco 55fbf76689 Fix undefined behavior in pausation 2017-06-02 22:01:33 -07:00
Vinnie Falco fe75a7ca2a Refactor HTTP serialization and parsing (API Change):
fix #404

Parsing and serialization interfaces have been fine tuned and unified.

For parsing these stream operations are defined:

* read
* read_header
* read_some
* async_read
* async_read_header
* async_read_some

For serialization these stream operations are defined:

* write
* write_header
* write_some
* async_write
* async_write_header
* async_write_some
2017-06-02 19:12:34 -07:00
Vinnie Falco 50cba32565 buffer_size overload for basic_multi_buffer::const_buffers_type 2017-06-02 10:35:26 -07:00
Vinnie Falco d977bf2946 Disable operator<< for buffer_body
fix #363
2017-05-30 16:16:20 -07:00
Vinnie Falco 5db707a037 Refactor treatment of status code and obsolete reason (API Change):
fix #398

A new enum status is added for the status code.

The function obsolete_reason returns default reason phrasing.

If a response has an empty reason, the serializer will
automatically insert the default reason phrase for the
status code.
2017-05-30 15:59:54 -07:00
Vinnie Falco 9a585a82d9 Refactor treatment of request-method (API Change):
fix #397

method enum class is added to represent all known request methods.
Functions are provided to convert from strings to and from the method
enumeration.

The fields container is modified to also work with the enum.
2017-05-30 15:59:50 -07:00
Vinnie Falco 3ae76d0d00 Set version to 46 2017-05-30 09:09:19 -07:00
Vinnie Falco 60047123ae Documentation work 2017-05-30 09:09:13 -07:00
Vinnie Falco 34ea0b37c4 Refactor serialization algorithms:
serializer interface is changed to be buffer-only, no streams,
and placed in its own header file.

Operations on serializers are moved to free functions as part
of the HTTP write family of synchronous and asynchronous algorithms.
2017-05-28 19:35:20 -07:00
Vinnie Falco 407b0462d4 Rename to make_serializer 2017-05-28 16:00:06 -07:00
Vinnie Falco c29451a8dd Refactor type_traits (API Change):
fix #373

* concepts.hpp is renamed to type_traits.hpp

* Body reader and writer concepts are renamed
2017-05-28 16:00:05 -07:00
Vinnie Falco 8578419433 Refactor HTTP serialization (API Change):
A new class `serializer` is introduced to permit incremental
serialization of HTTP messages. Existing free functions are
re-implemented in terms of this new class.

* The BodyReader concept is refined to support a greater variety
of strategies for providing buffers representing the body to
the serialization algorithms.

* Added buffer_body, a new model of Body which allows the caller
to provide a series of owned buffers using their own serialization
loop.

* Added empty_body, a model of Body which is for serialization only,
to represent HTTP messages with no content body.

* Removed overloads of write and async_write which send only
the HTTP header.

* Removed public interfaces for performing low-level chunk encoding.
2017-05-28 15:58:27 -07:00
Vinnie Falco f8612aa1df Remove HTTP header aliases (API Change):
fix #382

* request_header and response_header are removed
2017-05-28 15:55:58 -07:00
Vinnie Falco dfba72b6aa Set version to 45 2017-05-28 15:37:54 -07:00
Vinnie Falco 6ba36974d1 Disable reverse_iterator buffer_view test 2017-05-28 15:37:51 -07:00
Vinnie Falco 266ebac7b7 buffer_view skips empty buffer sequences 2017-05-28 15:37:50 -07:00
Vinnie Falco c23f1e2fbe Fix header::reason 2017-05-27 23:00:04 -07:00
Vinnie Falco 7a5e87eb80 Workaround for boost::asio::basic_streambuf type check 2017-05-24 15:14:07 -07:00
Vinnie Falco 663c275fc1 Set version to 44 2017-05-24 12:39:40 -07:00
Vinnie Falco f205976949 Make buffers_adapter meet requirements
fix #386
2017-05-24 12:39:37 -07:00
Vinnie Falco 8e39c604a4 Tidy up is_dynamic_buffer traits test 2017-05-24 12:39:36 -07:00
Vinnie Falco 949504a03e Fix async return values in docs 2017-05-24 12:36:08 -07:00
Vinnie Falco cd9f41b1a0 Use BOOST_STATIC_ASSERT
fix #380
2017-05-24 12:36:08 -07:00
Vinnie Falco 1b616fa1da Tidy up and make get_lowest_layer public
fix #379
2017-05-24 12:36:08 -07:00
Vinnie Falco 612e616978 Require Boost 1.58 or later 2017-05-24 12:36:08 -07:00
Vinnie Falco 1b1daa7b29 Tidy up read_size_helper and dynamic buffers
fix #376
2017-05-24 12:36:07 -07:00
Vinnie Falco bf0145da67 Use BOOST_THROW_EXCEPTION
fix #370
2017-05-24 12:36:07 -07:00
Vinnie Falco dab679cb0a Set version to 43 2017-05-22 04:45:01 -07:00
Vinnie Falco 50e5123996 Additional constructors for consuming_buffers 2017-05-21 07:55:02 -07:00
Vinnie Falco 3aa87e076c Tidy up buffer_prefix overloads and test 2017-05-21 07:55:01 -07:00
Vinnie Falco bee583cac1 Fix strict aliasing warnings in buffers_view 2017-05-21 07:55:00 -07:00
Vinnie Falco 76f1084ecb Set version to 42 2017-05-18 19:39:01 -07:00
Vinnie Falco 0bdb148765 Make buffers_view a public interface 2017-05-18 19:38:58 -07:00
Vinnie Falco 784f965a69 Fix javadoc typo 2017-05-15 11:31:32 -07:00
Vinnie Falco 823aee222a Set version to v41 2017-05-14 15:01:21 -07:00
Vinnie Falco 88adbdd95e Remove handler helpers, tidy up hook invocations (API Change) 2017-05-14 15:00:52 -07:00
Vinnie Falco 4974af2972 Rename prepare_buffer(s) to buffer_prefix (API Change) 2017-05-14 15:00:52 -07:00