67cb48537a
(http client + server + ws) Add support for compressing http client requests with gzip. --compress_request argument is used in ws to enable this. The Content-Encoding is set to gzip, and decoded on the server side if present.
Benjamin Sergeant
2020-10-09 17:51:56 -07:00
e2d346e9dd
Deployed fa0408e with MkDocs version: 1.1.2
2020-10-08 19:44:07 +00:00
fa0408e70b
(http client + server + ws) Add support for uploading files with ws -F foo=@filename, new -D http server option to debug incoming client requests, internal api changed for http POST, PUT and PATCH to supply an HttpFormDataParameters
Benjamin Sergeant
2020-10-08 12:43:18 -07:00
032ed9af9c
IXExponentialBackoff.cpp: fix typo in source code file name in the header block
Benjamin Sergeant
2020-10-05 10:39:11 -07:00
5d11fd38c8
Deployed dc84080 with MkDocs version: 1.1.2
2020-09-30 21:35:01 +00:00
dc84080401
Add support for gzip compression through libdeflate
Benjamin Sergeant
2020-09-30 14:25:41 -07:00
cbb65d6290
Deployed 82e7597 with MkDocs version: 1.1.2
2020-09-30 21:24:59 +00:00
82e759732b
(cmake) Stop using FetchContent cmake module to retrieve jsoncpp third party dependency
Benjamin Sergeant
2020-09-30 14:24:04 -07:00
563ff09667
IXBench report duration in micro seconds
Benjamin Sergeant
2020-09-28 13:58:12 -07:00
0c877f768a
experiment to use libdeflate
Benjamin Sergeant
2020-09-28 13:36:12 -07:00
61dbcc2b84
fix docker and linux build
Benjamin Sergeant
2020-09-28 11:56:49 -07:00
e61680ff0f
linux build fix about memset not being found
Benjamin Sergeant
2020-09-28 11:01:59 -07:00
e3b886e9c4
Deployed 6f188a5 with MkDocs version: 1.1.2
2020-09-28 17:20:09 +00:00
6f188a5131
(ws) add gzip and gunzip ws sub commands
Benjamin Sergeant
2020-09-28 10:19:27 -07:00
876832ccbd
Deployed 6077f86 with MkDocs version: 1.1.2
2020-09-26 21:12:21 +00:00
6077f86af8
(cmake) use FetchContent cmake module to retrieve jsoncpp third party dependency
Benjamin Sergeant
2020-09-26 14:11:40 -07:00
93167e3917
cmake / move FetchContent spdlog to a single place
Benjamin Sergeant
2020-09-26 13:55:03 -07:00
76da380e88
Deployed 2526a94 with MkDocs version: 1.1.2
2020-09-26 20:52:04 +00:00
2526a94454
(cmake) use FetchContent cmake module to retrieve spdlog third party dependency
Benjamin Sergeant
2020-09-26 13:51:19 -07:00
5f08c76956
Deployed 97cc543 with MkDocs version: 1.1.2
2020-09-22 16:35:12 +00:00
97cc543e53
(cobra connection) retrieve cobra server connection id from the cobra handshake message and display it in ws clients, metrics publisher and bots
Benjamin Sergeant
2020-09-22 09:30:19 -07:00
9ae19c4318
Deployed 62d220f with MkDocs version: 1.1.2
2020-09-22 15:57:07 +00:00
62d220f49a
(cobra 2 cobra) specify as an HTTP header which channel we will republish to
Benjamin Sergeant
2020-09-22 08:55:21 -07:00
dc85a444ac
Deployed 49995e3 with MkDocs version: 1.1.2
2020-09-18 22:25:55 +00:00
49995e32f0
(cobra bots) change an error log to a warning log when reconnecting because no messages were received for a minute
Benjamin Sergeant
2020-09-18 15:25:10 -07:00
61b5fd278e
Deployed d525c28 with MkDocs version: 1.1.2
2020-09-18 22:12:08 +00:00
d525c28907
(cobra connection and bots) set an HTTP header when connecting to help with debugging bots
Benjamin Sergeant
2020-09-18 15:11:12 -07:00
0b8a03b191
Deployed 39c84c7 with MkDocs version: 1.1.2
2020-09-13 02:02:14 +00:00
39c84c7d51
Rename HttpResponse's payload to body (#245)
carr-7
2020-09-13 03:01:37 +01:00
23ea07806b
Deployed 128bc0a with MkDocs version: 1.1.2
2020-09-12 21:17:51 +00:00
128bc0afa9
(http server) read body request when the Content-Length is specified + set timeout to read the request to 30 seconds max by default, and make it configurable as a constructor parameter
v10.4.0
Benjamin Sergeant
2020-09-12 14:17:06 -07:00
b04e5c5529
http server: use socket->readBytes which reads in bulk instead of N calls to socket->readByte
Benjamin Sergeant
2020-09-12 14:09:25 -07:00
1e8c421d66
formatting
Benjamin Sergeant
2020-09-12 13:55:27 -07:00
72d6651ded
Read body in parseRequest for HttpServer (#244)
carr-7
2020-09-12 21:53:56 +01:00
a28b59d173
Deployed a4e5d1b with MkDocs version: 1.1.2
2020-09-10 01:02:30 +00:00
a4e5d1b47a
(ws) autoroute command exit on its own once all messages have been received
Benjamin Sergeant
2020-09-09 18:01:38 -07:00
c47ac0dd8f
Deployed a40003e with MkDocs version: 1.1.2
2020-09-03 16:14:09 +00:00
a40003e85a
(ws) echo_client command renamed to autoroute. Command exit once the server close the connection. push_server commands exit once N messages have been sent.
Benjamin Sergeant
2020-09-03 09:13:23 -07:00
5534a7fdf9
add a github action to publish a docker container for ws
v10.3.2
Benjamin Sergeant
2020-09-02 11:52:59 -07:00
efb245278d
unittest / switch from using the REQUIRE macro, which halts (and usually crash) the test to the CHECK macro in IXWebSocketChatTest.cpp
Benjamin Sergeant
2020-08-31 13:56:45 -07:00
58822c75e7
Deployed 5896d37 with MkDocs version: 1.1.2
2020-08-31 20:45:57 +00:00
5896d3740f
(ws + cobra bots) add a cobra_to_cobra ws subcommand to subscribe to a channel and republish received events to a different channel
Benjamin Sergeant
2020-08-31 13:45:00 -07:00
8b5d0d7114
Deployed 73b9c0b with MkDocs version: 1.1.2
2020-08-28 21:56:23 +00:00
73b9c0b89b
(socket servers) merge the ConnectionInfo class with the ConnectionState one, which simplify all the server apis
Benjamin Sergeant
2020-08-28 14:55:40 -07:00
2fbf0e49ca
Deployed 08640d8 with MkDocs version: 1.1.2
2020-08-26 20:39:30 +00:00
08640d877f
(ws) set the main thread name, to help with debugging in XCode, gdb, lldb etc...
Benjamin Sergeant
2020-08-26 13:38:45 -07:00
7b94de9d68
Deployed ed5c631 with MkDocs version: 1.1.2
2020-08-19 17:00:51 +00:00
ed5c63144e
(ws) cobra to python bot / take a module python name as argument foo.bar.baz instead of a path foo/bar/baz.py
Benjamin Sergeant
2020-08-19 10:00:00 -07:00
103789d527
Deployed ee69aed with MkDocs version: 1.1.2
2020-08-19 16:32:48 +00:00
ee69aed2b0
(ws) on Linux with mbedtls, when the system ca certs are specified (the default) pick up sensible OS supplied paths (tested with CentOS and Alpine)
Benjamin Sergeant
2020-08-19 09:31:57 -07:00
e5b722f71b
Deployed fcb92f8 with MkDocs version: 1.1.2
2020-08-18 21:10:16 +00:00
fcb92f862d
(ws push_server) on the server side, stop sending and close the connection when the remote end has disconnected
Benjamin Sergeant
2020-08-18 14:09:27 -07:00
e8e98e667d
add ruby websocket bencharking code using faye-websocket-ruby to receive messages as fast as possible
Benjamin Sergeant
2020-08-18 13:45:53 -07:00
cfebe0cc83
Deployed e150201 with MkDocs version: 1.1.2
2020-08-17 23:49:06 +00:00
e1502017ce
(ixwebsocket) replace std::unique_ptr<unsigned char[]> with std::array for some fixed arrays (which are in C++11)
Benjamin Sergeant
2020-08-17 16:48:26 -07:00
72472f2899
IXWebSocketPerMessageDeflateCodec: use std::array instead of std::unique_ptr for a fixed size array
Benjamin Sergeant
2020-08-17 16:36:24 -07:00
42f71364ca
IXHttpClient.cpp: use std::array instead of std::unique_ptr for a fixed size array
Benjamin Sergeant
2020-08-17 16:25:55 -07:00
f69f971194
Deployed 3dabd3a with MkDocs version: 1.1.2
2020-08-16 02:31:08 +00:00
3dabd3a556
(ws) merge all ws_*.cpp files into a single one to speedup compilation
v10.2.5
Benjamin Sergeant
2020-08-15 19:29:57 -07:00
0498e2fa98
IXBench.h is missing a pragma once
Benjamin Sergeant
2020-08-15 18:58:46 -07:00
55abc27a64
Deployed 2aaf596 with MkDocs version: 1.1.2
2020-08-16 01:33:50 +00:00
2aaf59651e
(socket server) in the loop accepting connections, call select without a timeout on unix to avoid busy looping, and only wake up when a new connection happens
Benjamin Sergeant
2020-08-15 18:32:59 -07:00
ef4dd2647a
Deployed cd4e51e with MkDocs version: 1.1.2
2020-08-15 23:25:19 +00:00
cd4e51eacf
(socket server) instead of busy looping with a sleep, only wake up the GC thread when a new thread will have to be joined, (we know that thanks to the ConnectionState OnSetTerminated callback
Benjamin Sergeant
2020-08-15 16:24:35 -07:00
dfa3bddb5c
Deployed 785842d with MkDocs version: 1.1.2
2020-08-15 23:04:17 +00:00
785842de03
(socket server) add a callback to the ConnectionState to be invoked when the connection is terminated. This will be used by the SocketServer in the future to know on time that the associated connection thread can be terminated.
Benjamin Sergeant
2020-08-15 16:03:40 -07:00
4cecd16f8f
Deployed 261095f with MkDocs version: 1.1.2
2020-08-15 22:29:01 +00:00
261095fa12
(socket server) do not create a select interrupt object everytime when polling for notifications while waiting for new connections, instead use a persistent one which is a member variable
Benjamin Sergeant
2020-08-15 15:28:15 -07:00
a830a8796e
Deployed ed2ed0f with MkDocs version: 1.1.2
2020-08-15 01:14:16 +00:00
85590bf4b6
Deployed 7ad5ead with MkDocs version: 1.1.2
2020-08-14 22:16:20 +00:00
7ad5ead0f6
document the --config_path option in usage.md
Benjamin Sergeant
2020-08-14 15:15:27 -07:00
a8284e64e3
add a simple shell script to test websocket proxy
Benjamin Sergeant
2020-08-14 15:09:34 -07:00
5423a31d5a
(ws) have more subcommand handle --pidfile, to write pid to a file
Benjamin Sergeant
2020-08-14 15:09:12 -07:00
53575f8d90
change makefile openssl target to use ninja and install ws
Benjamin Sergeant
2020-08-14 15:08:37 -07:00
97ac808c6b
Deployed d3bcbda with MkDocs version: 1.1.2
2020-08-14 05:11:19 +00:00
d3bcbdac26
(ws) upgrade to latest version of nlohmann json (3.9.1 from 3.2.0)
Benjamin Sergeant
2020-08-13 22:10:38 -07:00
71589669fb
Deployed 8c5b28a with MkDocs version: 1.1.2
2020-08-14 04:21:31 +00:00
8c5b28adce
(websocket proxy server) add ability to map different hosts to different websocket servers, using a json config file
Benjamin Sergeant
2020-08-13 21:20:42 -07:00
06b441ba22
Deployed dcbafae with MkDocs version: 1.1.2
2020-08-13 01:56:15 +00:00
dcbafae35a
(ws) on macOS, with OpenSSL or MbedTLS, use /etc/ssl/cert.pem as the system certs
Benjamin Sergeant
2020-08-12 18:55:13 -07:00
eb197edcec
ws --version does not get printed with a log prefix
Benjamin Sergeant
2020-08-12 18:44:47 -07:00
29d862b495
Deployed b8265bf with MkDocs version: 1.1.2
2020-08-11 22:44:58 +00:00
b8265bf7f2
(ws) -q option imply info log level, not warning log level
v10.1.7
Benjamin Sergeant
2020-08-11 15:44:06 -07:00
3c84577785
Deployed e7c4f0b with MkDocs version: 1.1.2
2020-08-11 18:24:46 +00:00
e7c4f0b171
add documentation for the websocket send callback and the send return type (fix#239)
Benjamin Sergeant
2020-08-11 11:24:00 -07:00
bffff33cab
Deployed 12f36b6 with MkDocs version: 1.1.2
2020-08-06 11:41:33 +00:00
12f36b61ff
(websocket server) Handle programmer error when the server callback is not registered properly (fix#227)
v10.1.5
Benjamin Sergeant
2020-08-06 04:40:32 -07:00
0834198e74
do not create a kqueue everytime we call poll
feature/kqueue
Benjamin Sergeant
2020-08-05 15:00:01 -07:00
22dd32d4e9
wip kqueue, with selectinterrupt not implemented + we create a queue every time
Benjamin Sergeant
2020-08-05 14:47:03 -07:00
b15c4189f5
add csharp/dotnet devnull client to measure througput with different runtimes
Benjamin Sergeant
2020-08-05 13:58:39 -07:00
74d3278258
add python test file to benchmark how many messages can be received per second
Benjamin Sergeant
2020-08-04 10:53:35 -07:00
831152b906
add a devnull like sample code using libwebsockets C library, to see how many messages per second a client library can receive (answer is about the same as IXWebSocket)
Benjamin Sergeant
2020-08-02 19:26:09 -07:00