Commit Graph

1930 Commits

Author SHA1 Message Date
Vinnie Falco
ad22f60666 Set version to 1.0.0-b36 2017-07-20 08:12:15 -07:00
Vinnie Falco
656017e36d Update README.md 2017-07-20 08:12:15 -07:00
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