Commit Graph
148 Commits
Author SHA1 Message Date
Vinnie Falco cd40964aa4 read_buffer_size is a member of stream (API Change):
fix #446

* The read_buffer_size option struct is removed

Actions Required:

* Change call sites which use read_buffer_size with set_option to
  call stream::read_buffer_size instead.
2017-06-09 13:41:04 -07:00
Vinnie Falco a58e5e11dc binary, text are members of stream (API Change):
fix #446

* message_type is removed

Actions Required:

* Change call sites which use message_type with set_option
  to call stream::binary or stream::text instead.
2017-06-09 13:41:03 -07:00
Vinnie Falco ad35846c4d auto_fragment is a member of stream (API Change):
fix #374, fix #446

* auto_fragment option struct is removed

Actions Required:

* Change call sites which use auto_fragment with set_option
  to call stream::auto_fragment instead.
2017-06-09 13:41:03 -07:00
Vinnie Falco ccee1392eb Documentation work 2017-06-09 13:41:03 -07:00
Vinnie Falco 8f2430be64 Documentation work 2017-06-08 05:47:01 -07:00
Vinnie Falco 001c97950c Remove message free functions (API Change) 2017-06-07 18:18:55 -07:00
Vinnie Falco 745876b9bf Remove message connection settings (API Change) 2017-06-07 18:18:55 -07:00
Vinnie Falco bcf2c33d47 Body documentation work 2017-06-07 18:18:55 -07:00
Vinnie Falco 1e303b0cf6 Fields concept work 2017-06-07 18:18:55 -07:00
Vinnie Falco 9d0464a946 Tidy up basic_fields, header, and concepts 2017-06-07 18:18:55 -07:00
Vinnie Falco b5f6cc1724 Use field in basic_fields and call sites 2017-06-07 18:18:54 -07:00
Vinnie Falco cfd6d146a8 Documentation reference tidy 2017-06-07 18:18:54 -07:00
Vinnie Falco d8febdae76 Documentation work 2017-06-07 18:18:50 -07:00
Vinnie Falco 485a6e55ee Refactor prepare (API Change) 2017-06-06 13:25:44 -07:00
Vinnie Falco 9fd307178f Derive header from Fields (API Change) 2017-06-06 13:25:43 -07:00
Vinnie Falco 0071039d7f Add verb to on_request for parsers (API Change) 2017-06-06 13:25:43 -07:00
Vinnie Falco 74f6cbb117 Add field enumeration 2017-06-06 13:25:43 -07:00
Vinnie Falco be0d74f2aa Documentation fixes 2017-06-05 16:09:38 -07:00
Vinnie Falco 054ac40192 Remove header_parser (API Change) 2017-06-05 16:09:38 -07:00
Vinnie Falco a007eba09c parser is constructible from other body types 2017-06-05 16:09:38 -07:00
Vinnie Falco af47128f0b Documentation work 2017-06-05 16:04:35 -07:00
Vinnie Falco a1848f09ce Add HEAD request example 2017-06-04 17:26:21 -07:00
Vinnie Falco e67c0abe79 Refactor header status, reason, and target (API Change):
* header::result is a family of functions to replace header::status

* header interface now uses status enum and also ints

* reason-phrase is no longer stored unless the user explicitly
  requests it.

* When serializing, the standard reason is used for the
  corresponding status code unless the user has changed it.
2017-06-04 17:26:20 -07:00
Vinnie Falco ac175cb694 Refactor method and verb (API Change):
The verb interfaces now use verb::unknown instead of
boost::optional<verb> == boost::none to indicate that
the request-method is an unrecognized string.

The http::header interface is modified to focus more on the
verb enum rather than the string. For recognized verbs, the
implementation stores an integer instead of the string.
Unknown verbs are still stored as strings.

* header::method now returns a verb
* header::method_string returns the method text
2017-06-04 14:51:41 -07:00
Vinnie Falco e18efedcd1 Documentation work 2017-06-04 14:51:40 -07:00
Vinnie Falco d3a5a05424 Documentation work 2017-06-03 21:03:05 -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 290bdf146e Documentation work 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 fc83a031a2 Documentation work 2017-06-03 00:14:49 -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 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 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 96b9892dba Documentation work 2017-05-28 08:50:01 -07:00
Vinnie Falco 9a8bcb7040 Fix message doc image 2017-05-25 22:19:41 -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 386b817b38 Reformat README.md QR code 2017-05-22 04:44:58 -07:00
Vinnie Falco 0bdb148765 Make buffers_view a public interface 2017-05-18 19:38:58 -07:00
Vinnie Falco 338fc81623 Add formal review notes 2017-05-18 19:38:58 -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