Benjamin Sergeant
|
121c84a2d1
|
check and validate the Connection: Upgrade header in client/server
|
2019-01-15 09:31:37 -08:00 |
|
Tony Lin
|
2434605c06
|
Fix missing upgrade header error
|
2019-01-15 15:35:37 +08:00 |
|
Benjamin Sergeant
|
a0f15bfb56
|
C++14 + use make_unique and make_shared to make shared pointers
|
2019-01-11 21:25:06 -08:00 |
|
Benjamin Sergeant
|
8a0afef825
|
check select errors better
|
2019-01-07 11:18:00 -08:00 |
|
Benjamin Sergeant
|
bf3e8195f7
|
DNSLookup _id member does not need to be an atomic
|
2019-01-06 18:32:19 -08:00 |
|
Benjamin Sergeant
|
bce3071a12
|
DNSLookup: fix #8
|
2019-01-06 18:27:26 -08:00 |
|
Benjamin Sergeant
|
911f684e4d
|
DNSLookup: copy hostname and port instead of accessing member
|
2019-01-06 18:17:12 -08:00 |
|
Benjamin Sergeant
|
49bc156a56
|
return false -> return -1
|
2019-01-06 18:10:39 -08:00 |
|
Benjamin Sergeant
|
372af54e46
|
remove dead file
|
2019-01-06 14:26:11 -08:00 |
|
Benjamin Sergeant
|
2f9ad54bae
|
gcc linux compile fix
|
2019-01-06 12:12:39 -08:00 |
|
Benjamin Sergeant
|
57c22cddb8
|
make a class hierarchy for server code (IXWebSocketServer <- IXSocketServer)
|
2019-01-06 12:09:31 -08:00 |
|
Benjamin Sergeant
|
60dc765178
|
unittest + compiler warnings
|
2019-01-05 21:10:08 -08:00 |
|
Benjamin Sergeant
|
5e1c150024
|
windows compile fix
|
2019-01-05 21:02:55 -08:00 |
|
Benjamin Sergeant
|
0fd06bb592
|
int -> ssize_t for socker recv and send
|
2019-01-05 20:53:50 -08:00 |
|
Benjamin Sergeant
|
9641c8cf49
|
header refactoring
|
2019-01-05 20:38:43 -08:00 |
|
Benjamin Sergeant
|
4ca31be4a2
|
windows connect (compile fix)
|
2019-01-05 17:35:50 -08:00 |
|
Benjamin Sergeant
|
667f18cbfe
|
windows connect potential fix
|
2019-01-05 17:32:21 -08:00 |
|
Benjamin Sergeant
|
4df5050760
|
more accurate description of errors
|
2019-01-05 17:18:43 -08:00 |
|
Benjamin Sergeant
|
b80696af00
|
windows (compile) fix
|
2019-01-05 17:04:09 -08:00 |
|
Benjamin Sergeant
|
3cb2f6dcf7
|
windows fix
|
2019-01-05 17:02:39 -08:00 |
|
Benjamin Sergeant
|
89ff9dd5ac
|
fix gcc warning
|
2019-01-05 16:26:11 -08:00 |
|
Benjamin Sergeant
|
e892b21872
|
openssl cleanup
|
2019-01-05 11:42:25 -08:00 |
|
Benjamin Sergeant
|
3eef8fba27
|
unittest on appveyor
|
2019-01-04 17:28:13 -08:00 |
|
Benjamin Sergeant
|
cc43357fb4
|
Socket::readLine works with arbitrary long lines
|
2019-01-03 18:47:01 -08:00 |
|
Benjamin Sergeant
|
bce5ef2dca
|
timeout is configurable
|
2019-01-03 18:33:08 -08:00 |
|
Benjamin Sergeant
|
3021ac4b95
|
remove useless FIXME comment
|
2019-01-03 18:02:03 -08:00 |
|
Benjamin Sergeant
|
bd1c8873d0
|
capture path/uri when connecting, and pass it back through callbacks in the openInfo member
|
2019-01-03 17:44:10 -08:00 |
|
Benjamin Sergeant
|
6ac3bdb94a
|
implement a max connections (default = 32) settings
|
2019-01-03 17:05:44 -08:00 |
|
Benjamin Sergeant
|
e964a0a1f0
|
correct validation of the request (request line + headers)
|
2019-01-03 13:41:06 -08:00 |
|
Benjamin Sergeant
|
97255fbd62
|
cancellation refactoring
|
2019-01-03 12:53:44 -08:00 |
|
Benjamin Sergeant
|
64f649d1f9
|
split handshake code into its own files, so that Transport file is less massive
|
2019-01-02 20:07:54 -08:00 |
|
Benjamin Sergeant
|
097c7e5397
|
server unittest for validating client request / new timeout cancellation handling (need refactoring)
|
2019-01-02 16:08:32 -08:00 |
|
Benjamin Sergeant
|
b1710bfa31
|
server per message deflate support
|
2019-01-02 08:12:29 -08:00 |
|
Benjamin Sergeant
|
2b136b2981
|
refactoring + cancellation was buggy during http upgrade
|
2019-01-02 07:45:07 -08:00 |
|
Benjamin Sergeant
|
b95e5e36dc
|
use select to detect new incoming connections
|
2019-01-01 22:21:07 -08:00 |
|
Benjamin Sergeant
|
1bc5bc7f1c
|
add a way to run in blocking more, which is useful for server mode to have N*thread instead of 2N*thread for N connections
|
2019-01-01 21:25:15 -08:00 |
|
Benjamin Sergeant
|
946d7015a2
|
more named constants
|
2019-01-01 19:23:27 -08:00 |
|
Benjamin Sergeant
|
973a3f03c3
|
linux fix + unittest works with Linux
|
2019-01-01 17:13:26 -08:00 |
|
Benjamin Sergeant
|
e5937638d4
|
crash when server failed to start
|
2019-01-01 16:14:46 -08:00 |
|
Benjamin Sergeant
|
7c4f14f941
|
thread accepting connections can be cancelled/stopped externally
|
2019-01-01 16:11:27 -08:00 |
|
Benjamin Sergeant
|
ead54d6c37
|
listen job run in its own thread, non blocking
|
2019-01-01 14:52:14 -08:00 |
|
Benjamin Sergeant
|
d279aecb87
|
cleanup / remove printf, add mutex, remove hardcoded values, can pass in a binding host
|
2019-01-01 14:28:41 -08:00 |
|
Benjamin Sergeant
|
67de0fc8da
|
use shared_ptr
|
2019-01-01 13:53:13 -08:00 |
|
Benjamin Sergeant
|
8ed2399517
|
unittest pass
|
2019-01-01 13:47:25 -08:00 |
|
Benjamin Sergeant
|
cf340011e2
|
record workers in a map instead of a vector
|
2018-12-31 14:52:59 -08:00 |
|
Benjamin Sergeant
|
3443e82812
|
more cleanup to propagate server connection error and let onOpen callback execute
|
2018-12-31 12:43:47 -08:00 |
|
Benjamin Sergeant
|
63138507d6
|
only bind to localhost
|
2018-12-31 11:48:49 -08:00 |
|
Benjamin Sergeant
|
b2eb07db14
|
server code has a callback that takes a websocket
|
2018-12-30 22:12:13 -08:00 |
|
Benjamin Sergeant
|
379a845166
|
cleanup / use a websocket instead of raw websockettransport
|
2018-12-30 22:00:49 -08:00 |
|
Benjamin Sergeant
|
266cf93584
|
can accept multiple connection / server can send data back to client
|
2018-12-30 21:16:05 -08:00 |
|
Benjamin Sergeant
|
0ee71e9a09
|
proof of concept server implementation
|
2018-12-29 23:15:27 -08:00 |
|
Benjamin Sergeant
|
ea07afcc0b
|
can create a socket from a fd
|
2018-12-29 21:53:33 -08:00 |
|
Benjamin Sergeant
|
43cd6d34ca
|
add simple unittest
|
2018-12-29 18:34:08 -08:00 |
|
Benjamin Sergeant
|
3b67032adb
|
add missing src files (IXSetThreadName.{cpp,h}) ...
|
2018-12-23 14:19:30 -08:00 |
|
Benjamin Sergeant
|
2d46a0605b
|
fix warning: field '_eventCallback' will be initialized after field '_publishMode'
|
2018-12-23 14:18:53 -08:00 |
|
Benjamin Sergeant
|
ba54664748
|
Fix warning: field '_done' will be initialized after field '_wait' [-Wreorder] _done(false),
|
2018-12-23 14:17:30 -08:00 |
|
Benjamin Sergeant
|
a79f4c10a1
|
set thread name / rename example
|
2018-12-23 14:14:38 -08:00 |
|
Benjamin Sergeant
|
bd04b28b9e
|
async dns lookup fix
|
2018-12-14 17:49:42 -08:00 |
|
Benjamin Sergeant
|
cbadecab33
|
non blocking dns lookup
|
2018-12-14 16:28:17 -08:00 |
|
Benjamin Sergeant
|
8c079787f0
|
add cancellation support while connecting, to speed up WebSocket::stop
|
2018-12-09 17:56:20 -08:00 |
|
Benjamin Sergeant
|
62528e6a0b
|
http upgrade and connections use non blocking sockets
|
2018-12-09 14:07:40 -08:00 |
|
Benjamin Sergeant
|
49bf8bd830
|
threading race condition fixes, detected by TSAN
|
2018-12-06 08:27:28 -08:00 |
|
Benjamin Sergeant
|
c64bc20bb5
|
cleanup
|
2018-11-14 15:52:28 -08:00 |
|
Benjamin Sergeant
|
54da891f79
|
per-message deflate compression fixes
|
2018-11-13 17:46:05 -08:00 |
|
Benjamin Sergeant
|
9cb1d03411
|
tweaks doc / license + send proper error code when closing the connecion
|
2018-11-12 09:00:55 -08:00 |
|
Benjamin Sergeant
|
4fed156b90
|
per message deflate support (with zlib)
|
2018-11-09 18:42:09 -08:00 |
|
Benjamin Sergeant
|
de8bcd36e8
|
(satori_publisher) better error handling
|
2018-11-07 14:54:44 -08:00 |
|
Benjamin Sergeant
|
2b203c4616
|
Add missing files ...
|
2018-11-07 12:25:38 -08:00 |
|
Benjamin Sergeant
|
f12e655cf8
|
Add DockerFile + parse rsv1 field
|
2018-11-07 11:45:17 -08:00 |
|
Benjamin Sergeant
|
cf0045a483
|
stopping connection on Linux does not close the socket, which can create problem when re-starting the connection
|
2018-11-01 17:02:49 -07:00 |
|
Benjamin Sergeant
|
912d926260
|
Handle Sec-WebSocket-Accept correctly
|
2018-10-27 10:24:48 -07:00 |
|
Benjamin Sergeant
|
a8dfd640a7
|
capture an error code and a reason when the server closes the connection
|
2018-10-25 18:51:19 -07:00 |
|
Benjamin Sergeant
|
208c693088
|
ping / pong support / fix bug in dispatching received message type
|
2018-10-25 14:43:35 -07:00 |
|
Benjamin Sergeant
|
eae2f7d113
|
Better ping/pong support
|
2018-10-25 14:43:35 -07:00 |
|
Benjamin Sergeant
|
71b40c6d6c
|
Windows support (no TLS yet)
|
2018-10-08 21:44:54 -07:00 |
|
Benjamin Sergeant
|
af12089e7a
|
make TLS support optional
|
2018-10-08 15:24:36 -07:00 |
|
Benjamin Sergeant
|
376c8c2e00
|
Update IXWebSocket.h
Remove dead code
|
2018-10-07 15:49:07 -07:00 |
|
Benjamin Sergeant
|
436bf8deb5
|
more ssl peer validation stuff
|
2018-10-05 18:45:44 -07:00 |
|
Benjamin Sergeant
|
10ce046b0f
|
(openssl) verify that the certificate we are getting match the domain we are requesting
|
2018-10-05 12:08:45 -07:00 |
|
Benjamin Sergeant
|
8f5d83c5c2
|
(openssl) add sni support
|
2018-10-01 17:36:21 -07:00 |
|
Benjamin Sergeant
|
09af729c07
|
g++ build fixes
|
2018-10-01 14:46:11 -07:00 |
|
Benjamin Sergeant
|
9b8d6cedfe
|
First import
|
2018-09-27 14:57:19 -07:00 |
|