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
e2d346e9ddDeployed fa0408e with MkDocs version: 1.1.22020-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
032ed9af9cIXExponentialBackoff.cpp: fix typo in source code file name in the header block
Benjamin Sergeant
2020-10-05 10:39:11 -07:00
5d11fd38c8Deployed dc84080 with MkDocs version: 1.1.22020-09-30 21:35:01 +00:00
dc84080401Add support for gzip compression through libdeflate
Benjamin Sergeant
2020-09-30 14:25:41 -07:00
cbb65d6290Deployed 82e7597 with MkDocs version: 1.1.22020-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
563ff09667IXBench report duration in micro seconds
Benjamin Sergeant
2020-09-28 13:58:12 -07:00
0c877f768aexperiment to use libdeflate
Benjamin Sergeant
2020-09-28 13:36:12 -07:00
61dbcc2b84fix docker and linux build
Benjamin Sergeant
2020-09-28 11:56:49 -07:00
e61680ff0flinux build fix about memset not being found
Benjamin Sergeant
2020-09-28 11:01:59 -07:00
e3b886e9c4Deployed 6f188a5 with MkDocs version: 1.1.22020-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
876832ccbdDeployed 6077f86 with MkDocs version: 1.1.22020-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
93167e3917cmake / move FetchContent spdlog to a single place
Benjamin Sergeant
2020-09-26 13:55:03 -07:00
76da380e88Deployed 2526a94 with MkDocs version: 1.1.22020-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
5f08c76956Deployed 97cc543 with MkDocs version: 1.1.22020-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
9ae19c4318Deployed 62d220f with MkDocs version: 1.1.22020-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
dc85a444acDeployed 49995e3 with MkDocs version: 1.1.22020-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
61b5fd278eDeployed d525c28 with MkDocs version: 1.1.22020-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
0b8a03b191Deployed 39c84c7 with MkDocs version: 1.1.22020-09-13 02:02:14 +00:00
Rename HttpResponse's payload to body (#245)
carr-7
2020-09-13 03:01:37 +01:00
23ea07806bDeployed 128bc0a with MkDocs version: 1.1.22020-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
b04e5c5529http 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
1e8c421d66formatting
Benjamin Sergeant
2020-09-12 13:55:27 -07:00
c47ac0dd8fDeployed a40003e with MkDocs version: 1.1.22020-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
5534a7fdf9add a github action to publish a docker container for ws
v10.3.2
Benjamin Sergeant
2020-09-02 11:52:59 -07:00
efb245278dunittest / 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
58822c75e7Deployed 5896d37 with MkDocs version: 1.1.22020-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
8b5d0d7114Deployed 73b9c0b with MkDocs version: 1.1.22020-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
2fbf0e49caDeployed 08640d8 with MkDocs version: 1.1.22020-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
7b94de9d68Deployed ed5c631 with MkDocs version: 1.1.22020-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
103789d527Deployed ee69aed with MkDocs version: 1.1.22020-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
e5b722f71bDeployed fcb92f8 with MkDocs version: 1.1.22020-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
e8e98e667dadd 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
cfebe0cc83Deployed e150201 with MkDocs version: 1.1.22020-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
72472f2899IXWebSocketPerMessageDeflateCodec: use std::array instead of std::unique_ptr for a fixed size array
Benjamin Sergeant
2020-08-17 16:36:24 -07:00
42f71364caIXHttpClient.cpp: use std::array instead of std::unique_ptr for a fixed size array
Benjamin Sergeant
2020-08-17 16:25:55 -07:00
f69f971194Deployed 3dabd3a with MkDocs version: 1.1.22020-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
0498e2fa98IXBench.h is missing a pragma once
Benjamin Sergeant
2020-08-15 18:58:46 -07:00
55abc27a64Deployed 2aaf596 with MkDocs version: 1.1.22020-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
ef4dd2647aDeployed cd4e51e with MkDocs version: 1.1.22020-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
dfa3bddb5cDeployed 785842d with MkDocs version: 1.1.22020-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
4cecd16f8fDeployed 261095f with MkDocs version: 1.1.22020-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
a830a8796eDeployed ed2ed0f with MkDocs version: 1.1.22020-08-15 01:14:16 +00:00
ed2ed0f7ae(ixwebsocket client) handle HTTP redirects
Benjamin Sergeant
2020-08-14 18:13:34 -07:00
85590bf4b6Deployed 7ad5ead with MkDocs version: 1.1.22020-08-14 22:16:20 +00:00
7ad5ead0f6document the --config_path option in usage.md
Benjamin Sergeant
2020-08-14 15:15:27 -07:00
a8284e64e3add 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
53575f8d90change makefile openssl target to use ninja and install ws
Benjamin Sergeant
2020-08-14 15:08:37 -07:00
97ac808c6bDeployed d3bcbda with MkDocs version: 1.1.22020-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
71589669fbDeployed 8c5b28a with MkDocs version: 1.1.22020-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
06b441ba22Deployed dcbafae with MkDocs version: 1.1.22020-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
eb197edcecws --version does not get printed with a log prefix
Benjamin Sergeant
2020-08-12 18:44:47 -07:00
29d862b495Deployed b8265bf with MkDocs version: 1.1.22020-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
3c84577785Deployed e7c4f0b with MkDocs version: 1.1.22020-08-11 18:24:46 +00:00
e7c4f0b171add documentation for the websocket send callback and the send return type (fix#239)
Benjamin Sergeant
2020-08-11 11:24:00 -07:00
bffff33cabDeployed 12f36b6 with MkDocs version: 1.1.22020-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
0834198e74do not create a kqueue everytime we call poll
feature/kqueue
Benjamin Sergeant
2020-08-05 15:00:01 -07:00
22dd32d4e9wip kqueue, with selectinterrupt not implemented + we create a queue every time
Benjamin Sergeant
2020-08-05 14:47:03 -07:00
b15c4189f5add csharp/dotnet devnull client to measure througput with different runtimes
Benjamin Sergeant
2020-08-05 13:58:39 -07:00
74d3278258add python test file to benchmark how many messages can be received per second
Benjamin Sergeant
2020-08-04 10:53:35 -07:00
831152b906add 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