Benjamin Sergeant
|
b2f21840c6
|
(ws curl) Add support for --data-binary option, to set the request body. When present the request will be sent with the POST verb
|
2020-10-12 14:03:01 -07:00 |
|
Benjamin Sergeant
|
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.
|
2020-10-09 17:51:56 -07:00 |
|
Benjamin Sergeant
|
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
|
2020-10-08 12:43:18 -07:00 |
|
Benjamin Sergeant
|
dc84080401
|
Add support for gzip compression through libdeflate
|
2020-09-30 14:34:03 -07:00 |
|
Benjamin Sergeant
|
82e759732b
|
(cmake) Stop using FetchContent cmake module to retrieve jsoncpp third party dependency
|
2020-09-30 14:24:04 -07:00 |
|
Benjamin Sergeant
|
6f188a5131
|
(ws) add gzip and gunzip ws sub commands
|
2020-09-28 10:19:27 -07:00 |
|
Benjamin Sergeant
|
6077f86af8
|
(cmake) use FetchContent cmake module to retrieve jsoncpp third party dependency
|
2020-09-26 14:11:40 -07:00 |
|
Benjamin Sergeant
|
2526a94454
|
(cmake) use FetchContent cmake module to retrieve spdlog third party dependency
|
2020-09-26 13:51:19 -07:00 |
|
Benjamin Sergeant
|
97cc543e53
|
(cobra connection) retrieve cobra server connection id from the cobra handshake message and display it in ws clients, metrics publisher and bots
|
2020-09-22 09:30:19 -07:00 |
|
Benjamin Sergeant
|
62d220f49a
|
(cobra 2 cobra) specify as an HTTP header which channel we will republish to
|
2020-09-22 08:55:21 -07:00 |
|
Benjamin Sergeant
|
49995e32f0
|
(cobra bots) change an error log to a warning log when reconnecting because no messages were received for a minute
|
2020-09-18 15:25:10 -07:00 |
|
Benjamin Sergeant
|
d525c28907
|
(cobra connection and bots) set an HTTP header when connecting to help with debugging bots
|
2020-09-18 15:11:20 -07:00 |
|
carr-7
|
39c84c7d51
|
Rename HttpResponse's payload to body (#245)
* rename payload to body
* Fixed ws cmd line tool to use the renamed body
Co-authored-by: Jay <jasoncarr@Jasons-MacBook-Pro.local>
|
2020-09-12 19:01:37 -07:00 |
|
Benjamin Sergeant
|
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
|
2020-09-12 14:17:06 -07:00 |
|
Benjamin Sergeant
|
a4e5d1b47a
|
(ws) autoroute command exit on its own once all messages have been received
|
2020-09-09 18:01:38 -07:00 |
|
Benjamin Sergeant
|
9f51a54a83
|
(docker) ws docker file installs strace
|
2020-09-04 13:47:12 -07:00 |
|
Benjamin Sergeant
|
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.
|
2020-09-03 09:13:23 -07:00 |
|
Benjamin Sergeant
|
5896d3740f
|
(ws + cobra bots) add a cobra_to_cobra ws subcommand to subscribe to a channel and republish received events to a different channel
|
2020-08-31 13:45:00 -07:00 |
|
Benjamin Sergeant
|
73b9c0b89b
|
(socket servers) merge the ConnectionInfo class with the ConnectionState one, which simplify all the server apis
|
2020-08-28 14:55:40 -07:00 |
|
Benjamin Sergeant
|
08640d877f
|
(ws) set the main thread name, to help with debugging in XCode, gdb, lldb etc...
|
2020-08-26 13:38:45 -07:00 |
|
Benjamin Sergeant
|
ed5c63144e
|
(ws) cobra to python bot / take a module python name as argument foo.bar.baz instead of a path foo/bar/baz.py
|
2020-08-19 10:00:00 -07:00 |
|
Benjamin Sergeant
|
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)
|
2020-08-19 09:31:57 -07:00 |
|
Benjamin Sergeant
|
fcb92f862d
|
(ws push_server) on the server side, stop sending and close the connection when the remote end has disconnected
|
2020-08-18 14:09:27 -07:00 |
|
Benjamin Sergeant
|
e1502017ce
|
(ixwebsocket) replace std::unique_ptr<unsigned char[]> with std::array for some fixed arrays (which are in C++11)
|
2020-08-17 16:48:26 -07:00 |
|
Benjamin Sergeant
|
3dabd3a556
|
(ws) merge all ws_*.cpp files into a single one to speedup compilation
|
2020-08-15 19:30:17 -07:00 |
|
Benjamin Sergeant
|
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
|
2020-08-15 18:32:59 -07:00 |
|
Benjamin Sergeant
|
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
|
2020-08-15 16:24:35 -07:00 |
|
Benjamin Sergeant
|
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.
|
2020-08-15 16:03:40 -07:00 |
|
Benjamin Sergeant
|
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
|
2020-08-15 15:28:15 -07:00 |
|
Benjamin Sergeant
|
ed2ed0f7ae
|
(ixwebsocket client) handle HTTP redirects
|
2020-08-14 18:13:34 -07:00 |
|
Benjamin Sergeant
|
7ad5ead0f6
|
document the --config_path option in usage.md
|
2020-08-14 15:15:27 -07:00 |
|
Benjamin Sergeant
|
d3bcbdac26
|
(ws) upgrade to latest version of nlohmann json (3.9.1 from 3.2.0)
|
2020-08-13 22:10:38 -07:00 |
|
Benjamin Sergeant
|
8c5b28adce
|
(websocket proxy server) add ability to map different hosts to different websocket servers, using a json config file
|
2020-08-13 21:20:42 -07:00 |
|
Benjamin Sergeant
|
dcbafae35a
|
(ws) on macOS, with OpenSSL or MbedTLS, use /etc/ssl/cert.pem as the system certs
|
2020-08-12 18:55:13 -07:00 |
|
Benjamin Sergeant
|
b8265bf7f2
|
(ws) -q option imply info log level, not warning log level
|
2020-08-11 15:44:06 -07:00 |
|
Benjamin Sergeant
|
e7c4f0b171
|
add documentation for the websocket send callback and the send return type (fix #239)
|
2020-08-11 11:24:00 -07:00 |
|
Benjamin Sergeant
|
12f36b61ff
|
(websocket server) Handle programmer error when the server callback is not registered properly (fix #227)
|
2020-08-06 04:40:32 -07:00 |
|
Benjamin Sergeant
|
6e47c62c06
|
(ws) Add a new ws sub-command, push_server. This command runs a server which sends many messages in a loop to a websocket client. We can receive above 200,000 messages per second (cf #235).
|
2020-08-02 12:41:34 -07:00 |
|
Benjamin Sergeant
|
bcae7f326d
|
(ws) Add a new ws sub-command, echo_client. This command send a message to an echo server, and send back to a server whatever message it does receive. When connecting to a local ws echo_server, on my MacBook Pro 2015 I can send/receive around 30,000 messages per second. (cf #235)
|
2020-08-02 12:09:13 -07:00 |
|
Benjamin Sergeant
|
6f0307fb35
|
(build) make using zlib optional, with the caveat that some http and websocket features are not available when zlib is absent
|
2020-07-31 22:54:57 -07:00 |
|
Benjamin Sergeant
|
2e3d625c1e
|
(websocket client) onProgressCallback not called for short messages on a websocket (fix #233)
|
2020-07-29 17:47:33 -07:00 |
|
Benjamin Sergeant
|
4d51098c86
|
(websocket client) heartbeat is not sent at the requested frequency (fix #232)
|
2020-07-29 11:24:42 -07:00 |
|
Benjamin Sergeant
|
e85f975ab0
|
compiler warning fixes
|
2020-07-28 21:46:26 -07:00 |
|
Benjamin Sergeant
|
dc77d62a5d
|
(ixcobra) CobraConnection: unsubscribe from all subscriptions when disconnecting
|
2020-07-28 10:32:18 -07:00 |
|
Benjamin Sergeant
|
4f41f209a2
|
(socket utility) move ix::getFreePort to ixwebsocket library
|
2020-07-27 18:17:13 -07:00 |
|
Benjamin Sergeant
|
847fc142d1
|
(ixwebsocket server) change legacy api with 2 nested callbacks, so that the first api takes a weak_ptr<WebSocket> as its first argument
|
2020-07-25 11:42:07 -07:00 |
|
Benjamin Sergeant
|
0388459bd0
|
(ixwebsocket) add WebSocketProxyServer, from ws. Still need to make the interface better.
|
2020-07-25 11:26:06 -07:00 |
|
Benjamin Sergeant
|
e34f1c30d6
|
(ws) port broadcast_server sub-command to the new server API
|
2020-07-24 14:35:07 -07:00 |
|
Benjamin Sergeant
|
b146e93a3a
|
(unittest) port most unittests to the new server API
|
2020-07-24 12:49:36 -07:00 |
|
Benjamin Sergeant
|
9957ec9724
|
(ws) port ws snake to the new server API
|
2020-07-24 12:33:17 -07:00 |
|
Benjamin Sergeant
|
e78019dad6
|
(ws) port ws transfer to the new server API
|
2020-07-24 11:52:16 -07:00 |
|
Benjamin Sergeant
|
0f026c5da2
|
(websocket client) reset WebSocketTransport onClose callback in the WebSocket destructor
|
2020-07-24 10:03:29 -07:00 |
|
Benjamin Sergeant
|
c26a2d5d39
|
(websocket server) reset client websocket callback when the connection is closed
|
2020-07-24 09:41:02 -07:00 |
|
Benjamin Sergeant
|
2798886c0b
|
(websocket server) add a new simpler API to handle client connections / that API does not trigger a memory leak while the previous one did
|
2020-07-23 19:29:41 -07:00 |
|
Benjamin Sergeant
|
ffde283a4b
|
(build) merge platform specific files which were used to have different implementations for setting a thread name into a single file, to make it easier to include every source files and build the ixwebsocket library (fix #226)
|
2020-07-17 11:58:06 -07:00 |
|
Benjamin Sergeant
|
87709c201e
|
(socket server) bump default max connection count from 32 to 128
|
2020-07-10 17:11:11 -07:00 |
|
Benjamin Sergeant
|
e70d83ace1
|
(snake) implement super simple stream sql expression support in snake server
|
2020-07-10 16:10:59 -07:00 |
|
Benjamin Sergeant
|
fbd17685a1
|
(socket+websocket+http+redis+snake servers) expose the remote ip and remote port when a new connection is made (see #222) / only ipv4 is handled
|
2020-07-08 12:10:35 -07:00 |
|
Benjamin Sergeant
|
7c1b57c8cd
|
(cmake) change the way zlib and openssl are searched
|
2020-07-07 10:58:20 -07:00 |
|
Benjamin Sergeant
|
dddf00e3b1
|
(cobra python bots) remove the test which stop the bot when events do not follow cobra metrics system schema with an id and a device entry
|
2020-07-06 16:15:24 -07:00 |
|
Benjamin Sergeant
|
cc47fb1c83
|
(cobra bots) remove bots which is not required now that we can use Python extensions
|
2020-06-26 16:49:08 -07:00 |
|
Benjamin Sergeant
|
68c97da518
|
(cmake) new python code is optional and enabled at cmake time with -DUSE_PYTHON=1
|
2020-06-25 10:05:02 -07:00 |
|
Benjamin Sergeant
|
615f1778c3
|
new cobra to python bot (still sending to statsd)
values + string building can be done in python (we are embedding it)
|
2020-06-24 23:21:19 -07:00 |
|
Benjamin Sergeant
|
c45b197c85
|
(cobra metrics to statsd bot) fps slow frame info : do not include os name
|
2020-06-19 18:10:49 -07:00 |
|
Benjamin Sergeant
|
78713895dd
|
(cobra metrics to statsd bot) send info about memory warnings
|
2020-06-19 17:46:59 -07:00 |
|
Benjamin Sergeant
|
10c014bf98
|
(http client) fix deadlock when following redirects
|
2020-06-19 00:11:06 -07:00 |
|
Benjamin Sergeant
|
9bb3643fc7
|
(cobra metrics to statsd bot) send info about net requests
|
2020-06-18 11:25:48 -07:00 |
|
Benjamin Sergeant
|
565a08b229
|
(cobra client and bots) add batch_size subscription option for retrieving multiple messages at once
|
2020-06-17 17:13:45 -07:00 |
|
Benjamin Sergeant
|
558daf8911
|
(websocket) WebSocketServer is not a final class, so that users can extend it (fix #215)
|
2020-06-15 18:29:42 -07:00 |
|
Benjamin Sergeant
|
7ba7ff4b2a
|
(cobra bots) minor aesthetic change, in how we display http headers with a : then space as key value separator instead of :: with
no space
|
2020-06-15 16:09:31 -07:00 |
|
Benjamin Sergeant
|
aa142df486
|
(cobra metrics to statsd bot) change from a statsd type of gauge to a timing one
|
2020-06-12 13:47:01 -07:00 |
|
Benjamin Sergeant
|
5e200a440f
|
(redis cobra bots) capture most used devices in a zset
|
2020-06-11 18:49:45 -07:00 |
|
Benjamin Sergeant
|
ac9710d5d6
|
(ws) add bare bone redis-cli like sub-command, with command line editing powered by libnoise
|
2020-06-11 17:30:42 -07:00 |
|
Benjamin Sergeant
|
7603d1a71b
|
(redis cobra bots) ws cobra metrics to redis / hostname invalid parsing
|
2020-06-11 08:33:36 -07:00 |
|
Benjamin Sergeant
|
d0cd4aed5a
|
(redis cobra bots) xadd with maxlen + fix bug in xadd client implementation and ws cobra metrics to redis command argument parsing
|
2020-06-11 08:20:03 -07:00 |
|
Benjamin Sergeant
|
c5aadffa08
|
(redis cobra bots) update the cobra to redis bot to use the bot framework, and change it to report fps metrics into redis streams.
|
2020-06-10 22:30:55 -07:00 |
|
Benjamin Sergeant
|
2ecf5d8a5a
|
(statsd cobra bots) statsd improvement: prefix does not need a dot as a suffix, message size can be larger than 256 bytes, error handling was invalid, use core logger for logging instead of std::cerr
|
2020-06-04 09:37:16 -07:00 |
|
Benjamin Sergeant
|
b008c97c83
|
(http server) support gzip compression
|
2020-05-29 16:49:29 -07:00 |
|
Benjamin Sergeant
|
33916869f1
|
add simple doc link for multipart uploads - fix #209
|
2020-05-27 10:38:32 -07:00 |
|
Benjamin Sergeant
|
bd39e69185
|
Update index.md
|
2020-05-21 09:42:15 -07:00 |
|
Benjamin Sergeant
|
16eb269e1e
|
bump version for (compiler fix) support clang 5 and earlier (contributed by @LunarWatcher) #206
|
2020-05-20 10:58:30 -07:00 |
|
Benjamin Sergeant
|
2319dec278
|
(cmake) revert CMake changes to fix #203 and be able to use an external OpenSSL
|
2020-05-20 10:56:58 -07:00 |
|
Liz3
|
93fd44813a
|
extend docs (#204)
|
2020-05-18 09:22:25 -07:00 |
|
Benjamin Sergeant
|
54d4d81bf4
|
(cmake) make install cmake files optional to not conflict with vcpkg
See https://github.com/microsoft/vcpkg/pull/11030
|
2020-05-17 20:36:46 -07:00 |
|
Benjamin Sergeant
|
ea207d8199
|
(windows + tls) mbedtls is the default windows tls backend + add ability to load system certificates with mbdetls on windows
|
2020-05-17 20:36:46 -07:00 |
|
Benjamin Sergeant
|
1af39bf0eb
|
(ixbots) add options to limit how many messages per minute should be processed
|
2020-05-12 21:40:17 -07:00 |
|
Benjamin Sergeant
|
2e904801a0
|
(ixbots) add new class to configure a bot to simplify passing options around
|
2020-05-12 19:08:16 -07:00 |
|
Benjamin Sergeant
|
4773af8f2f
|
(openssl tls) (openssl < 1.1) logic inversion - crypto locking callback are not registered properly
|
2020-05-08 09:54:42 -07:00 |
|
Benjamin Sergeant
|
c1403df74a
|
(cmake) default TLS back to mbedtls on Windows Universal Platform
|
2020-05-08 09:31:53 -07:00 |
|
Benjamin Sergeant
|
0772ef7ef5
|
(cobra bots) add a --heartbeat_timeout option to specify when the bot should terminate because no events are received
|
2020-05-06 22:01:48 -07:00 |
|
Benjamin Sergeant
|
6c205b983e
|
(openssl tls) when OpenSSL is older than 1.1, register the crypto locking callback to be thread safe. Should fix lots of CI failures
|
2020-05-06 16:26:30 -07:00 |
|
Benjamin Sergeant
|
4f17cd5e74
|
(cobra bots) do not use a queue to store messages pending processing, let the bot handle queuing
|
2020-05-04 15:45:11 -07:00 |
|
Benjamin Sergeant
|
b45980f0f6
|
(http client) better current request cancellation support when the HttpClient destructor is invoked (see #189)
|
2020-04-29 11:53:23 -07:00 |
|
Benjamin Sergeant
|
fbca513008
|
bump version
|
2020-04-27 12:36:56 -07:00 |
|
Benjamin Sergeant
|
5632360fbd
|
(http client) Set default values for most HttpRequestArgs struct members (fix #185)
|
2020-04-27 09:43:31 -07:00 |
|
Benjamin Sergeant
|
0ab04f51fe
|
(ssl) Default to OpenSSL on Windows, since it can load the system certificates by default
|
2020-04-25 15:36:31 -07:00 |
|
Benjamin Sergeant
|
287e48962f
|
bump version number
|
2020-04-25 11:41:58 -07:00 |
|
Benjamin Sergeant
|
2802cad8c4
|
more tls in memory certs doc + bump file format
|
2020-04-24 15:50:39 -07:00 |
|
Benjamin Sergeant
|
cd5fae6a5b
|
generate a compilation database when building with make for the default target, so that clang-tidy can be used
|
2020-04-22 14:14:09 -07:00 |
|
Benjamin Sergeant
|
36257cbfe4
|
update build doc
|
2020-04-18 03:49:26 -07:00 |
|