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 Sergeant2020-10-09 17:51:56 -07: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 Sergeant2020-10-08 12:43:18 -07:00
032ed9af9c
IXExponentialBackoff.cpp: fix typo in source code file name in the header block
Benjamin Sergeant2020-10-05 10:39:11 -07: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 Sergeant2020-09-22 09:30:19 -07:00
49995e32f0
(cobra bots) change an error log to a warning log when reconnecting because no messages were received for a minute
Benjamin Sergeant2020-09-18 15:25:10 -07: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 Sergeant2020-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 Sergeant2020-09-12 14:09:25 -07: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 Sergeant2020-09-03 09:13:23 -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 Sergeant2020-08-31 13:56:45 -07: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 Sergeant2020-08-31 13:45:00 -07:00
73b9c0b89b
(socket servers) merge the ConnectionInfo class with the ConnectionState one, which simplify all the server apis
Benjamin Sergeant2020-08-28 14:55:40 -07: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 Sergeant2020-08-19 10:00:00 -07: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 Sergeant2020-08-19 09:31:57 -07:00
fcb92f862d
(ws push_server) on the server side, stop sending and close the connection when the remote end has disconnected
Benjamin Sergeant2020-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 Sergeant2020-08-18 13:45:53 -07:00
e1502017ce
(ixwebsocket) replace std::unique_ptr<unsigned char[]> with std::array for some fixed arrays (which are in C++11)
Benjamin Sergeant2020-08-17 16:48:26 -07:00
72472f2899
IXWebSocketPerMessageDeflateCodec: use std::array instead of std::unique_ptr for a fixed size array
Benjamin Sergeant2020-08-17 16:36:24 -07:00
42f71364ca
IXHttpClient.cpp: use std::array instead of std::unique_ptr for a fixed size array
Benjamin Sergeant2020-08-17 16:25:55 -07: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 Sergeant2020-08-15 18:32:59 -07: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 Sergeant2020-08-15 16:24:35 -07: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 Sergeant2020-08-15 16:03:40 -07: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 Sergeant2020-08-15 15:28:15 -07:00
8c5b28adce
(websocket proxy server) add ability to map different hosts to different websocket servers, using a json config file
Benjamin Sergeant2020-08-13 21:20:42 -07:00
12f36b61ff
(websocket server) Handle programmer error when the server callback is not registered properly (fix#227)
v10.1.5
Benjamin Sergeant2020-08-06 04:40:32 -07:00
22dd32d4e9
wip kqueue, with selectinterrupt not implemented + we create a queue every time
Benjamin Sergeant2020-08-05 14:47:03 -07:00
b15c4189f5
add csharp/dotnet devnull client to measure througput with different runtimes
Benjamin Sergeant2020-08-05 13:58:39 -07:00
74d3278258
add python test file to benchmark how many messages can be received per second
Benjamin Sergeant2020-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 Sergeant2020-08-02 19:26:09 -07:00