418 Commits
Author SHA1 Message Date
Vinnie Falco 56fee93601 Fix for a test matrix compiler 2017-10-22 07:03:14 -07:00
Vinnie Falco d0d4e0a740 http write returns success on connection close (API Change):
fix #767

The write family of HTTP stream algorithms no longer returns
error::end_of_stream when the message indicates that the connection
should be closed.

Actions Required:

* Add code to servers to close the connection after successfully
  writing a message where `message::keep_alive()` would return `false`.
2017-10-22 07:03:04 -07:00
Vinnie Falco 2399b610e3 Clear previous message fields in parser
fix #818
2017-10-16 12:09:41 -07:00
Vinnie Falco e832baf93f Check compiler feature in Jamfile 2017-10-16 09:16:26 -07:00
Vinnie Falco a30d30e379 Fix spurious race in websocket close test 2017-10-15 10:41:16 -07:00
Vinnie Falco 1e412715b1 Use unit-test subtree 2017-10-15 09:00:07 -07:00
Vinnie Falco 6ca2ef8449 Add missing case in error test 2017-10-10 08:17:23 -07:00
Vinnie Falco 8179be560e config.hpp is not a public header 2017-10-10 07:49:12 -07:00
Vinnie Falco 2ac6936312 Fix zlib symbol conflicts
fix #808
2017-10-07 13:59:04 -07:00
Vinnie Falco 6e08fa0a21 Add test for issue 807 2017-10-05 19:24:35 -07:00
Vinnie Falco f5f1b7d6fa Add test for issue 802 2017-10-03 06:13:10 -07:00
Peter Jankuliak 5a7b8b23db Fix writing headers into std::ostream 2017-09-21 16:08:19 -07:00
Vinnie Falco b5f22bdef6 Add buffers_to_string
fix #772
2017-09-20 08:31:36 -07:00
Vinnie Falco 06fb2b9dfc buffers_cat replaces buffer_cat (API Change):
fix #773

* buffer_cat is renamed to buffers_cat
* buffer_cat_view is renamed to buffers_cat_view

Actions Required:

* Use buffers_cat instead of buffer_cat
* Use buffers_cat_view instead of buffer_cat_view
2017-09-15 12:52:59 -07:00
Vinnie Falco e94a65b04a buffers_prefix replaces buffer_prefix (API Change)
fix #773

* buffer_prefix is renamed to buffers_prefix
* buffer_prefix_view is renamed to buffers_prefix_view

Actions Required:

* Use buffers_prefix instead of buffer_prefix
* Use buffers_prefix_view instead of buffer_prefix_view
2017-09-15 12:52:58 -07:00
Vinnie Falco 795da80859 buffers_suffix replaces consuming_buffers (API Change):
fix #770

* consuming_buffers is renamed to buffers_suffix

Actions Required:

* Use buffers_suffix instead of consuming_buffers
2017-09-15 12:52:45 -07:00
Vinnie Falco 38e28966ea message::version is a member function (API Change):
fix #778

* The version data member is replaced with accessor
  member functions.

Actions Required:

* Call member function message::version instead of accessing
  the version member at call sites.
2017-09-12 17:13:02 -07:00
Vinnie Falco 54fe7cacf7 message::body is a member function (API Change):
fix #778

* The body data member is replaced with accessor
  member functions.

Actions Required:

* Call member function message::body instead of accessing
  the data member at call sites.
2017-09-12 17:12:12 -07:00
Vinnie Falco 0007afdaf2 Fix handler signature in async_read_header 2017-09-09 06:39:49 -07:00
Vinnie Falco 49d9d47a0b HTTP reads and writes return bytes transferred (API Change):
* HTTP read and write operations now return the
  number of bytes transferred to or from the stream.

Actions Required:

* Modify HTTP read and/or write completion handlers to receive
  the extra std::size_t bytes_transferred parameter.
2017-09-03 20:37:28 -07:00
Vinnie Falco cc8246e27e Update websocket notes 2017-09-03 20:05:20 -07:00
Vinnie Falco c0e5f14702 WebSocket writes return the bytes transferred (API Change):
* Stream write operations now return the number of bytes
transferred from the caller's input buffers.

Actions Required:

* Modify websocket write completion handlers to receive
  the extra std::size_t bytes_transferred parameter.
2017-09-03 20:05:19 -07:00
Vinnie Falco 51a5a36118 Refactor stream operations and tests plus coverage 2017-08-31 17:52:36 -07:00
Vinnie Falco 9f089c2a33 Fix utf8 check split code point at buffer end 2017-08-31 17:52:36 -07:00
Vinnie Falco b13e02bb55 Fix invalid iterator in test reporter
fix #755
2017-08-29 08:22:12 -07:00
Damian Jarek 96c53a048f Add Add test::stream::lowest_layer:
This allows the stream to be used as the next layer type in
a stack of network stream layers.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2017-08-28 22:16:23 -07:00
Vinnie Falco 30b98674d5 Refactor websocket stream: fixes and tests 2017-08-28 22:16:22 -07:00
Vinnie Falco 53fa8a6589 websocket test fixes 2017-08-26 07:15:25 -07:00
Vinnie Falco df7b068fa7 websocket read tests 2017-08-25 07:40:05 -07:00
Vinnie Falco 142b785119 split up websocket tests 2017-08-24 06:38:47 -07:00
Vinnie Falco 5ac51a1054 websocket write tests 2017-08-23 14:38:29 -07:00
Vinnie Falco 463accffd1 Refactor test::stream 2017-08-23 14:34:13 -07:00
Vinnie Falco 99822aebf5 websocket ping tests 2017-08-23 14:34:13 -07:00
Vinnie Falco 96eff81cea websocket close fixes and tests 2017-08-23 14:34:13 -07:00
Vinnie Falco 7e815435f6 websocket accept refactoring (API Change):
* stream overloads of accept which take both a message
  and a buffer sequence are removed.

Actions Required:

* Do not call websocket accept overloads which take
  both a message and a buffer sequence, as it is
  illegal per rfc6455.
2017-08-23 14:34:13 -07:00
Vinnie Falco 7a96dc4e11 Fix async_read_some handler signature 2017-08-23 14:34:13 -07:00
Vinnie Falco 2c73eeef7c Use test::stream 2017-08-16 18:26:48 -07:00
Vinnie Falco 76feb4afd4 Fix for basic_parser::skip(true) and docs
fix #742
2017-08-15 07:00:56 -07:00
Vinnie Falco f570593a01 Tidy up utf8_checker and tests 2017-08-14 15:41:35 -07:00
Vinnie Falco fa087e19f1 Refactor read_op + fail_op 2017-08-14 15:40:13 -07:00
Vinnie Falco ffd20b91f7 websocket test improvements 2017-08-14 15:30:29 -07:00
Vinnie Falco a56b390638 Tidy up Jamfile and tests 2017-08-10 18:32:21 -07:00
Vinnie Falco 483a4c5da5 Fix compile error in websocket snippet 2017-08-10 16:28:20 -07:00
Vinnie Falco d8a1eef7a3 Tidy up some test warnings 2017-08-09 17:23:41 -07:00
Vinnie Falco cf8182794a Boost test matrix fixes 2017-08-08 11:11:31 -07:00
Vinnie Falco dd71b0f94d Refactor all examples:
fix #575, fix #604, fix #608, fix #634, fix #712

All examples are rewritten:

* Using Best Practices
* Mostly self-contained
* New examples to complete the feature matrix
* The server-framework example is removed
2017-08-07 20:53:11 -07:00
Vinnie Falco 5e6ee5445e websocket documentation 2017-08-04 19:02:13 -07:00
Vinnie Falco 60c8a560bf Add teardown_role for correct TIME_WAIT behavior (API Change):
* teardown_tag is replaced with teardown_role, a client/server
  flag used to determine whether the shutdown is performed
  before or after reading the EOF. This is in accordance with
  RFC6455 7.1.1:

  https://tools.ietf.org/html/rfc6455#section-7.1.1

Actions Required:

* Modify signatures of teardown and async_teardown to use
  teardown_role instead of teardown_tag

* Change calls to teardown and async_teardown to pass the
  correct role: client or server depending on context.
2017-08-04 19:02:13 -07:00
Vinnie Falco de03a1a32d drain_buffer is removed (API Change):
* The drain_buffer dynamic buffer is no longer a public interface.

Actions Required:

* Replace code which uses drain_buffer. For websocket::stream,
  it is no longer necessary to manually drain the connection
  after closing.
2017-08-04 19:02:13 -07:00
Vinnie Falco 64327739f0 WebSocket close will automatically drain (API Change):
fix #642

* Calls to stream::close and stream::async_close will
  automatically perform the required read operations

Actions Required:

* Remove calling code which drains the connection after
  calling stream::close or stream::async_close
2017-08-04 19:02:13 -07:00