Peter Thorson
3e8dbf767d
Add example demonstrating external io_service
2015-09-17 08:11:48 -04:00
Peter Thorson
3c77ce3cc7
Fix race condition resulting in corruption of responses sent from non-blocking HTTP handers
...
The HTTP request processing code was expecting that the http response
state would be `deferred` after a call to an HTTP handler that deferred
the response. If, in addition to deferring, you also sent the response
the HTTP state advanced past `deferred` to `response_written`. This
doesn't easily show up in unit tests because the bug requires that the
async write still be in flight and the connection still be open when
the HTTP handler returns.
An asynchronous network transport (like Asio) combined with a
sufficiently large message that Asio yields control back to WebSocket++
before the response is fully written will trigger a second write on the
same connection while the first is in flight. This is not allowed per
the Asio spec and results in undefined behavior.
The HTTP request processing code now checks if the http state is init,
i.e. not deferred and no response has been started rather than just if
it was deferred.
2015-09-09 10:14:37 -04:00
Peter Thorson
54ce641d02
remove tabs
2015-08-25 09:30:00 -04:00
Peter Thorson
e0bd3f7e95
Address an issue where an exception could be thrown when a socket gets canceled on Windows XP #460
...
This fix switches to using the non-exception variant of socket::cancel
and logging the error instead of throwing it. There is a chance that
something else will need to be addressed as a result of this change as
some async operations might not be cancelled? I believe everything in
question has timeouts that will trigger operation cancellation at some
point anyways.
2015-08-25 09:03:00 -04:00
Peter Thorson
fb829e0895
Misc changes related to translation of asio transport errors #448
2015-08-20 10:14:55 -04:00
Peter Thorson
f9dbc0fd9d
Merge branch 'pr/456' into develop
2015-08-06 09:12:05 -04:00
Peter Thorson
0b2b77e4ad
update changelog
2015-08-06 09:11:50 -04:00
Eli Fidler
15c78afbf4
fix crash in strip_lws()
...
Before this fix, a malicious client could cause a websocketpp server to create an invalid std::string.
2015-08-04 12:01:14 -04:00
Peter Thorson
4b18214eda
Add preliminary support for C++11 features in Visual Studio 2015
2015-08-01 12:38:18 -04:00
Peter Thorson
e80673278f
Merge branch 'pr/454' into develop
2015-07-29 09:29:37 -04:00
Peter Thorson
95551e7e94
code style & change log update for PR
2015-07-29 09:28:22 -04:00
Peter Thorson
22918a3992
Merge branch 'permessage-deflate' into develop
...
Conflicts:
Doxyfile
examples/utility_client/CMakeLists.txt
websocketpp/version.hpp
2015-07-29 09:12:21 -04:00
Peter Thorson
9b09b0b481
Merge branch 'pr/449' into develop
2015-07-29 08:59:14 -04:00
Peter Thorson
ef380f7fff
Add CMake build support for examples and tests, zlib dependencies
2015-07-29 08:57:56 -04:00
Mark Grimes
1f504001d2
Use smart pointer to hold new io_service temporarily in case of errors
2015-07-29 12:36:22 +01:00
Peter Thorson
c54f2abaab
utility client build scripts
2015-07-23 07:53:51 -04:00
Peter Thorson
3580530902
Miscellaneous changes
...
- Updates code style
- Adds some tags for future exception free work
- Fix utility client build scripts
2015-07-23 07:53:31 -04:00
Thijs Wenker
bc7ad6550e
fixed typo
2015-07-16 12:18:32 +02:00
Thijs Wenker
d3fe51fa39
Added missing CMake files, organized the CMake structure between test and example directories using the global variable USE_FOLDERS
2015-07-16 12:17:59 +02:00
Thijs Wenker
7514c82c92
CMake: properly include examples and tests with macro (added unit_test_framework dependency for unit tests)
2015-07-16 11:38:38 +02:00
Peter Thorson
dabf32a668
Better std::chrono autodetection for Visual Studio
2015-06-05 08:49:07 -04:00
Peter Thorson
0d7052d2ae
Merge branch 'master' into permessage-deflate
...
Update permessage-deflate to track latest release version.
0.6.0-permessage-deflate
2015-06-03 09:21:06 -04:00
Peter Thorson
39497aaa61
reset dev branch for work on next version
2015-06-02 08:59:10 -04:00
Peter Thorson
c5510d6de0
Merge branch 'develop'
...
Conflicts:
CMakeLists.txt
Doxyfile
changelog.md
readme.md
websocketpp/version.hpp
0.6.0
2015-06-02 08:55:24 -04:00
Peter Thorson
f931734369
prep for release
2015-06-02 07:19:59 -04:00
Peter Thorson
af792aeaba
Update changelog
2015-06-02 07:02:48 -04:00
Peter Thorson
2af2135d82
Merge pull request #432 from rec/develop
...
Fix dangling pointer and message in error.hpp.
2015-06-02 06:59:04 -04:00
Tom Ritchford
f2b38d5634
Fix dangling pointer and message in error.hpp.
2015-05-27 19:18:24 -04:00
Peter Thorson
1b9e40040c
update readme
2015-05-10 21:36:19 -04:00
Peter Thorson
8893faff53
Removes an unnecessary mutex lock in get_con_from_hdl
2015-05-10 21:36:19 -04:00
Peter Thorson
430fb82e76
Fix typo in cmake files
2015-05-10 21:36:19 -04:00
Peter Thorson
01d4109ae8
Merge pull request #428 from timrau/develop
...
Fix grammar
2015-05-07 09:02:24 -04:00
timrau
4cc678ee93
Fix grammar
2015-05-07 21:00:09 +08:00
Peter Thorson
acb53a379c
Refactor deferred http handler support to better match the library conventions
2015-04-29 20:00:20 -04:00
Peter Thorson
c18f210ea3
Allow deferring the sending of an HTTP response. references #425
...
This allows processing of long running http handlers to defer their
response until it is ready without blocking the network thread.
2015-04-29 19:28:36 -04:00
Peter Thorson
f469b90bfc
update changelog credit
2015-04-29 19:24:04 -04:00
Peter Thorson
9d95501536
changelog update
2015-04-25 13:32:33 -04:00
Peter Thorson
9351e73e90
initial sketch of TLS tutorial
2015-04-25 12:41:14 -04:00
Peter Thorson
b817c4499e
Updates echo_server_tls reference TLS settings
2015-04-25 12:28:28 -04:00
Peter Thorson
7829de34a3
Update changelog
2015-04-25 12:26:16 -04:00
Peter Thorson
6973f02d1c
make sure boost version is loaded before using it
2015-04-25 12:25:17 -04:00
Peter Thorson
31b75714bd
Update common/chrono.hpp to latest spec
2015-04-25 12:24:53 -04:00
Peter Thorson
257b5ac8e5
add boost chrono to travis dependencies
2015-04-25 07:33:26 -04:00
Peter Thorson
769fe89533
Major refactor to support standalone Asio and remove Boost dependencies
...
It is now possible to use WebSocket++’s asio transport using only
standalone asio by defining ASIO_STANDALONE before including any
WebSocket++ headers.
2015-04-25 07:17:28 -04:00
Peter Thorson
d670d69c6e
Refactor boost dependencies
...
Introduces a common type_traits header that supplies aligned_storage
using either boost or C++11.
removes unused boost header boost/array.hpp
removes usage of boost::noncopyable in favor of C++11 deleted copy
constructor/operators
2015-04-24 09:40:59 -04:00
Peter Thorson
2c843b9343
echo_server now checks for a special command to stop listening for new connections
2015-04-14 08:14:47 -04:00
Peter Thorson
d076e38e00
properly set opcode on outgoing close frames
2015-04-14 07:58:34 -04:00
Peter Thorson
4331de8a29
Add missing header references #418
2015-04-14 06:56:30 -04:00
Peter Thorson
6dde40d96e
Merge pull request #413 from rec/public-accessor
...
Make transport::asio::connection::get_strand() public.
2015-04-14 06:50:09 -04:00
Peter Thorson
d68fd03e40
date fix
2015-04-02 09:56:22 -04:00