Commit Graph

310 Commits

Author SHA1 Message Date
Vinnie Falco
bb1dd72638 Group common example headers 2017-07-20 08:15:29 -07:00
Vinnie Falco
2daf3bf35b Set version to 66 2017-07-20 08:15:28 -07:00
Vinnie Falco
90a88a9361 Set version to 65 2017-07-20 08:15:28 -07:00
Vinnie Falco
58c976ea73 Enable unused variable warning on msvc cmake 2017-07-20 08:15:28 -07:00
Vinnie Falco
246f55321c Enable narrowing warning on msvc cmake 2017-07-20 08:15:28 -07:00
Vinnie Falco
cbf4182dd1 Set version to 64 2017-07-20 08:15:28 -07:00
Vinnie Falco
67f595eea8 Add link_directories to cmake 2017-07-20 08:15:28 -07:00
Vinnie Falco
9ca2ca7db0 Set version to 63 2017-07-20 08:15:28 -07:00
Vinnie Falco
26b5e91725 Tidy up CMakeLists.txt 2017-07-20 08:15:28 -07:00
Vinnie Falco
3ff585d36e Only run the tests under ubasan 2017-07-20 08:15:28 -07:00
Vinnie Falco
9c4b3ed2a7 Only build and run tests in variant=coverage 2017-07-20 08:15:27 -07:00
Vinnie Falco
1aede9a81e Set version to 62 2017-07-20 08:15:27 -07:00
Vinnie Falco
3efe8cc9dd Put slow tests back for coverage builds 2017-07-20 08:15:27 -07:00
Vinnie Falco
d5f15976e7 Tidy up test build scripts and projects 2017-07-20 08:15:27 -07:00
Vinnie Falco
abed397bc0 Don't run slow tests on certain targets 2017-07-20 08:15:27 -07:00
Vinnie Falco
8b5f5c6feb Reorganize SSL examples 2017-07-20 08:15:27 -07:00
Vinnie Falco
65932ee343 Add server-framework SSL HTTP and WebSocket ports 2017-07-20 08:15:27 -07:00
Vinnie Falco
9be141a1e0 Reorganize SSL examples 2017-07-20 08:15:27 -07:00
Vinnie Falco
a83b1a0108 Set version to 60 2017-07-20 08:15:27 -07:00
Vinnie Falco
fd9a13b11f New server-framework, full featured server example:
A new server framework is introduced, allowing users to
quickly get off the ground. Example servers are refactored
to use the common framework.
2017-07-20 08:15:26 -07:00
Sacha
0a2a03acfa Integrated Beast interface. 2017-07-20 08:15:26 -07:00
Vinnie Falco
104ec6be18 Set version to 58 2017-07-20 08:15:26 -07:00
Vinnie Falco
510092d34b Reorganize examples:
* The examples/ directory is renamed to example/

* Each program is in its own directory with its own build scripts
2017-07-20 08:15:26 -07:00
Vinnie Falco
1cb4601005 Set version to 57 2017-07-20 08:15:26 -07:00
Vinnie Falco
82d76e4882 Convert buffer in range loops
fix #485
2017-07-20 08:12:20 -07:00
Sacha
1037c5bfba Add Beast INTERFACE CMake target 2017-07-20 08:12:20 -07:00
Vinnie Falco
b9acbb537f Try harder to find Boost (cmake)
fix #480
2017-07-20 08:12:20 -07:00
Vinnie Falco
4d21f8d2cf Revert "Add a Beast CMake interface target:"
This reverts commit 906db45bec35ce9bb4ba0448aaa4c8955f3c62e2.
2017-07-20 08:12:20 -07:00
Sacha
3c453209fe Add a Beast CMake interface target:
fix #461

This target allows other CMake projects to acquire
the Beast headers and link libraries easily.
2017-07-20 08:12:19 -07:00
Vinnie Falco
74c26a8869 DynamicBuffer benchmarks
fix #441
2017-07-20 08:12:19 -07:00
Vinnie Falco
4b866cea36 Documentation work 2017-07-20 08:12:18 -07:00
Vinnie Falco
5d3fc8fbbd Tidy up .travis.yml:
* Combine address and undefined sanitizers
* Additional targets for older gcc and 32 bit
2017-07-20 08:12:16 -07:00
Vinnie Falco
415f94b150 Add websocket async echo ssl server test:
This adds a new asynchronous websocket echo server
which supports TLS/SSL connections.
2017-07-20 08:12:16 -07:00
Vinnie Falco
434d4d0a55 Add -funsigned-char to asan build target 2017-07-20 08:12:16 -07:00
Vinnie Falco
7d7a360666 Add ub sanitizer blacklist 2017-07-20 08:12:15 -07:00
Vinnie Falco
8ba166a221 CMake hide command lines in .vcxproj Output windows 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
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
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
71db14bad4 Tidy up build settings 2017-07-20 08:12:15 -07:00
Vinnie Falco
911617c43f Add permessage-deflate WebSocket extension:
This implements the permessage-deflate WebSocket
extension as described in HyBi Working Group
draft-ietf-hybi-permessage-compression-28:
https://tools.ietf.org/html/draft-ietf-hybi-permessage-compression-28

This extension allows messages to be compressed using
the raw "deflate" algorithm described in RFC 1951,
"DEFLATE Compressed Data Format Specification version 1.3":
https://www.ietf.org/rfc/rfc1951.txt
2017-07-20 08:12:14 -07:00
Vinnie Falco
606ad187ba Disable Boost.Coroutine deprecation warning 2017-07-20 08:12:14 -07:00
Vinnie Falco
5089cf59ee Add zlib module:
The zlib module is a port of ZLib's raw deflate
algorithm to header-only C++11.
2017-07-20 08:12:14 -07:00
Mike Ellery
38b89d7cab Override incremental link flags:
fix #160

Disable incremental linking for RelWithDebInfo builds on MSVC.
2017-07-20 08:12:13 -07:00
Vinnie Falco
c75992a4af Higher optimization settings for MSVC builds 2017-07-20 08:12:13 -07:00
Andrew Whatson
ed23fd5811 Fix unused parameter warnings and missing includes:
fix #127

* Added beast::detail::ignore_unused based on boost::ignore_unused
* Added -Wextra compilation flag when building with gcc
* Fixed all unused parameter warnings with ignore_unused
* Fixed all missing includes when building each .hpp separately
2017-07-20 08:12:13 -07:00
Vinnie Falco
2ad5223d80 Add HTTPS example 2017-07-20 08:12:12 -07:00
Evgeniy
42073a925a Update build scripts for MSVC, MinGW 2017-07-20 08:12:09 -07:00
Vinnie Falco
af46a1162a Tidy up CMakeLists 2017-07-20 08:12:09 -07:00
Vinnie Falco
f3f4e2b425 Tidy up 32 and 64 bit build support (fix #49):
This fixes up support for building both 32 and 64 bit targets, especially on Windows.
2017-07-20 08:12:07 -07:00
wilsonianb
3ec83b31d9 Handle undefined VARIANT in cmake 2017-07-20 08:12:07 -07:00
wilsonianb
a2fb4b099b Build coverage and usan Travis CI targets with CMake 2017-07-20 08:12:07 -07:00
seelabs
da78f3cec4 Tidying and fix warnings 2017-07-20 08:12:07 -07:00
seelabs
bbfe44cc10 Update CMakeLists for non-Windows platforms 2017-07-20 08:12:06 -07:00
Vinnie Falco
3484996048 Tidy up core sources:
The core headers are moved to their own directory (but remain in
the same namespace).
2017-07-20 08:12:06 -07:00
Vinnie Falco
00d8ed71fd Tidy up test sources:
Test support classes are moved to beast/extras/test.
2017-07-20 08:12:06 -07:00
Vinnie Falco
b14434456c Refactor extras:
A new directory extras/ is added, and code not part of the official
public Beast interface is moved there.
2017-07-20 08:12:06 -07:00
Vinnie Falco
4104eca1f1 WebSocket refactoring and tests:
websocket:

* Move echo server to test/
* Fix warnings
* Fix maskgen being uncopyable
* Simplify utf8_checker special member declarations
* Fix stream move assignable when owning the next layer
* Add javadocs for stream special members
* Add stream unit tests
* Move throwing member definitions to the .ipp file
* Use get_lowest_layer in stream declaration
* Perform type checks at each call site instead of constructor
* Demote close_code to a non-class enum:
    Otherwise, application specific close codes
    cannot be assigned without using static_cast.

core:

* Add streambuf_readstream special members tests
* Add move assignment operator to streambuf_readstream
* Add detail/get_lowest_layer trait
* Add static_string tests
* Move static_string from websocket to core
2017-07-20 08:12:05 -07:00
Vinnie Falco
a0b04bdff2 Refactor beast core, http, tests, and examples:
* Fix warnings
* Port cmake scripts to linux
* Add command line options for running test suites
* Add examples to CMakeLists
* Return std::uint64_t from writer::content_length
* basic_parser::write takes asio::const_buffer instead of pointer and size
* Turn message test back on now that it passes
* Rename to http::headers, use std::allocator, remove http_headers
* http::message::method is now a string
* Refactor to_string for ConstBufferSequence
* Remove chunk_encode from the public interface
* Initialize members for default constructed iterators
* Disallow default construction for dependent buffer sequences

Refactor http::message serialization:

* Serialization no longer creates a copy of the
  headers and modifies them
* New function prepare(), sets Connection, Transfer-Encoding,
  Content-Length based on the body attributes and caller options.
  Callers can use prepare() to have the fields set automatically,
  or they can set the fields manually.
* Use write for operator<<
* Tests for serialization
2017-07-20 08:12:05 -07:00
Vinnie Falco
9a3a42a644 Truncate history, version 1.0.0-b2 2017-07-20 08:01:46 -07:00