Commit Graph
278 Commits
Author SHA1 Message Date
Vinnie Falco 26440a90b7 Set version to 1.0.0-b35 2017-07-20 08:12:15 -07:00
Vinnie Falco 44714e3f04 Tidy up doc declarations 2017-07-20 08:12:15 -07:00
Vinnie Falco 7407e3adc3 Fix README.md CMake instructions
fix #318
2017-07-20 08:12:15 -07:00
Vinnie Falco 492391f749 Update .gitignore for VS2017 2017-07-20 08:12:15 -07:00
Vinnie Falco 19b75e5048 Remove http::empty_body (API Change) 2017-07-20 08:12:15 -07:00
Vinnie Falco e8be3fd7d3 New HTTP interfaces (API Change):
fix #123
fix #154
fix #265

This completely replaces the HTTP parser used to read and
parse incoming messages. The new version is faster than
the old one, and written in fewer lines. A summary of
changes:

* parse and async_parse renamed to read and async_read

* basic_parser is optimized for linear buffers,
  use flat_streambuf for the best performance with these
  functions:

  - http::read
  - http::read_some
  - http::async_read
  - http::async_read_some

* The overloads of read() and async_read() which take
  just a header have been removed, since they would
  throw away important parse metadata.

* The derived class callbacks for basic_parser have
  been streamlined. All strings passed to callbacks
  are presented in their entirety, instead of being
  provided in pieces.

These changes allow use-cases that were previously
difficult or impossible, such as:

- Efficient relaying

- Late body type commitment

- Expect: 100-continue handling
2017-07-20 08:12:15 -07:00
Vinnie Falco 34830a1780 Rename to BEAST_DOXYGEN
fix #316
2017-07-20 08:12:15 -07:00
Vinnie Falco e7319aade1 Add flat_streambuf:
Objects of this type meet the requirements of DynamicBuffer
and offer an additional invariant: buffer sequences returned
by data() and prepare() are always of length one.
2017-07-20 08:12:15 -07:00
Brad Chase 4d76089241 Doc XSL support for list and table markdown 2017-07-20 08:12:15 -07:00
Vinnie Falco 9774ed0e19 Make websocket::close_code a proper enum:
fix #311

This changes close_code to be a proper enumeration.
2017-07-20 08:12:15 -07:00
Vinnie Falco bd4ad15856 Tidy up MSVC CMake configuration 2017-07-20 08:12:15 -07:00
Vinnie Falco 75b8e30a15 Add appveyor build script
Fix #75
2017-07-20 08:12:15 -07:00
Vinnie Falco 010a421b3a Set version to 1.0.0-b34 2017-07-20 08:12:15 -07:00
Vinnie Falco 63ee5048c7 Fix and tidy up CMake build scripts:
This cleans up the Boost CMake configuration and
also fixes a bug in MSVC builds with mismatched
static versus dynamic runtime linkage.
2017-07-20 08:12:15 -07:00
Vinnie Falco 49b3e8f636 Set version to 1.0.0-b33 2017-07-20 08:12:15 -07:00
Vinnie Falco aa24a9c749 Set internal state correctly when writing frames:
fix #300

Correctly set wr_.cont when performing synchronous frame
writes, for the case where masking and autofragment are used.
2017-07-20 08:12:15 -07:00
Vinnie Falco 6ec2e10c77 Add write_frames unit test 2017-07-20 08:12:15 -07:00
Vinnie Falco f8b0c22501 Add decorator unit test
fix #302
2017-07-20 08:12:15 -07:00
Vinnie Falco a595c3ba85 Use fwrite return value in file_body 2017-07-20 08:12:15 -07:00
Vinnie Falco 5bb5f62b9a Require Visual Studio 2015 Update 3 or later
fix #216
2017-07-20 08:12:15 -07:00
Vinnie Falco 7ebddf9c7c Set version to 1.0.0-b32 2017-07-20 08:12:15 -07:00
Sergey Lyubimov 3641521af7 Update CMake scripts for finding packages:
These changes require CMake version 3.7.2 or later.
2017-07-20 08:12:15 -07:00
Vinnie Falco ed906adc35 Remove http Writer suspend and resume feature (API Change):
fix #154

The resume_context parameter passed to instances
of Writer during HTTP serialization is removed.
2017-07-20 08:12:15 -07:00
Vinnie Falco 36027ba844 Add io_service completion invariants tests
fix #290
2017-07-20 08:12:15 -07:00
Vinnie Falco 773285a0e8 Set version to 1.0.0-b31 2017-07-20 08:12:15 -07:00
Vinnie Falco c5833e279c Fix badge markdown in README.md 2017-07-20 08:12:15 -07:00
Florian Behrens 297374b487 Add missing dynabuf_readstream member
fix #277
2017-07-20 08:12:15 -07:00
Vinnie Falco 71db14bad4 Tidy up build settings 2017-07-20 08:12:15 -07:00
Vinnie Falco 9f0dc10928 Move the handler, don't copy it 2017-07-20 08:12:15 -07:00
Vinnie Falco 74982213f9 Set version to 1.0.0-b30 2017-07-20 08:12:15 -07:00
Vinnie Falco 0ec9e8c4af Allow concurrent websocket async ping and writes:
fix #271

This modifies the websocket stream implementation's composed
operations to allow caller-initiated asynchronous pings and
frame/message writes to take place at the same time.
2017-07-20 08:12:15 -07:00
Vinnie Falco a22e7056d5 Fix race when write suspends 2017-07-20 08:12:15 -07:00
Vinnie Falco 9554bd105d Fix race in close frames during reads 2017-07-20 08:12:15 -07:00
Vinnie Falco b9b1b53fda Fix race in pings during reads 2017-07-20 08:12:15 -07:00
Vinnie Falco 41c09a45ea Set version to 1.0.0-b29 2017-07-20 08:12:15 -07:00
Florian Behrens 8a1c7545e4 Fix doc link typo 2017-07-20 08:12:15 -07:00
Nik Bougalis 69f95c870b Check ostream modifier correctly 2017-07-20 08:12:15 -07:00
Steve Brain c82cc218e1 Fix Writer return value documentation 2017-07-20 08:12:15 -07:00
Vinnie Falco 8fe07212f1 Document type-pun in buffer_cat 2017-07-20 08:12:15 -07:00
Vinnie Falco e224d64949 Fix illegal HTTP characters accepted as hex zero 2017-07-20 08:12:15 -07:00
Vinnie Falco f3a87a745e Fix Body requirements doc 2017-07-20 08:12:15 -07:00
Vinnie Falco 5e7780bbd9 Fix compilation error in non-template class
fix #267
2017-07-20 08:12:15 -07:00
Vinnie Falco d735aa949e Fix race in writes during reads:
fix #261

This fixes a rare condition when responding to a ping or
close frame where the wr_block_ stream variable is not
correctly set for a short window of time.
2017-07-20 08:12:15 -07:00
Vinnie Falco 4c0f7d9286 Set version to 1.0.0-b28 2017-07-20 08:12:15 -07:00
Vinnie Falco 2b799b6371 Fix HTTP split parse edge case:
fix #257

This fixes a problem when doing split parsing (header then body).
The problem arises when the first buffer passed to the header
parser contains exactly the full header and nothing more. The
symptom is that when parsing the body, the parse will erroneously
be considered complete.
2017-07-20 08:12:15 -07:00
Vinnie Falco dbfb7718fc Restyle async result constructions 2017-07-20 08:12:15 -07:00
Vinnie Falco 1f52f4a791 Split out and rename test stream classes 2017-07-20 08:12:15 -07:00
Vinnie Falco 5bbbb1fb30 Tidy up some WebSocket javadocs 2017-07-20 08:12:14 -07:00
Vinnie Falco a983bb4fe7 Set version to 1.0.0-b27 2017-07-20 08:12:14 -07:00
Vinnie Falco c468158a09 Update copyright dates 2017-07-20 08:12:14 -07:00