Commit Graph
23 Commits
Author SHA1 Message Date
Vinnie Falco 745876b9bf Remove message connection settings (API Change) 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 2adc80aa6a Protect basic_fields special members (API Change) 2017-06-07 18:18:54 -07:00
Vinnie Falco d55b079321 Fix basic_fields allocator awareness 2017-06-07 18:18:54 -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 8ad26b8f5d Use allocator more in basic_fields
Fix #392
2017-06-06 13:25:43 -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 7d267f46b0 Canonicalize string_view parameter types 2017-06-04 14:51:41 -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 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 1c9067b1da Use beast::string_view alias 2017-05-09 07:23:09 -07:00
Vinnie Falco ff5e659545 Refactor http::header contents (API Change):
fix #124

The http::header data members "method", "url", and "reason"
are changed from data members, to pairs of get and set
functions which forward the call to the Fields type used
to instantiate the template.

Previously, these data members were implemented using
std::string. With this change, the implementation of the
Fields type used to instantiate the template is now in
control of the representation of those values. This permits
custom memory allocation strategies including uniform use of
the Allocator type already provided to beast::http::basic_fields.
2017-05-07 13:40:04 -07:00
Vinnie Falco 5596e97656 Prevent basic_fields operator[] assignment
fix #258
2017-05-07 13:39:41 -07:00
Vinnie Falco c86fee9513 Move everything in basic_fields.hpp to fields.hpp (API Change)
fix #320
2017-05-05 21:00:55 -07:00
Vinnie Falco df661658ee Require Visual Studio 2015 Update 3 or later
fix #216
2017-04-12 18:36:59 -07:00
Vinnie Falco a6120cd8be Update copyright dates 2017-02-07 15:20:25 -05:00
Vinnie Falco a0a335972f Refactor HTTP identifier names (API Change):
fix #171

Several names and  HTTP identifiers are renamed to be
more consistent, self-explanatory, and concise:

* "Fields" is a collection of HTTP header fields (rfc7230 section 3.2)
* "Header" is the Start Line plus Fields. Another way to look at it is,
  the HTTP message minus the body.
* `basic_fields` replaces `basic_headers`
* `fields` replaces `headers`
* `Fields` replaces `Headers` in template parameter lists
* `header` replaces `message_headers`
* `header::fields` replaces `message_headers::fields`

The changes are cosmetic and do not affect run-time behavior.
2016-11-15 12:04:44 -05:00
Vinnie Falco af3d721f82 Reduce requirements to C++11 only 2016-04-22 11:59:03 -04:00
Vinnie Falco f07cd8ceb4 Reorganize source files 2016-04-20 12:01:25 -04:00