itytophile
679ce519dd
Fix DNSLookup memory leak ( #422 )
...
* Fix memory leak with shared_ptr and -fsanitize=address
* Replace addrinfo* by shared_ptr
* fsanitize=address only on Linux
* Add USE_WS Linux CI test
* Remove fsanitize from the cmake files
* Remove USE_WS in linux test suite
2022-12-22 17:13:51 -08:00
Robin Sommer
1e46466114
Add option to disable hostname check ( #399 )
...
* Suppress compiler warnings about unused elements.
* Enable CMake's compilation database.
* Add TLS option to disable checking a certificate's host name.
* Add `--disable-hostname-validation` to `ws`.
* Add test for disabling hostname validation.
2022-10-12 06:41:32 -07:00
Benjamin Sergeant
30bcddb99f
(ws) ws connect has a -g option to gzip decompress messages for API such as the websocket Huobi Global.
2021-06-08 09:49:27 -07:00
Benjamin Sergeant
24c2eae3d7
use inet_ntop and inet_pton musl implementations on all platforms
2021-03-23 20:53:19 -07:00
Benjamin Sergeant
def0243d6d
(ws) initialize maxWaitBetweenReconnectionRetries to a non zero value ; a zero value was causing spurious reconnections attempts
2021-03-22 21:10:18 -07:00
Benjamin Sergeant
d706a4a73e
doc: document BUILD_SHARED_LIBS
2021-03-20 09:50:21 -07:00
Benjamin Sergeant
88970604e3
ixwebsocketserver::broadcast server to return a boolean to know whether the server could start/listen, and use that in ws
2021-03-19 11:52:41 -07:00
Benjamin Sergeant
1c7634d075
ws: cannot use << with an std::vector
2021-03-19 11:43:29 -07:00
Benjamin Sergeant
99f9556aa9
ws + mingw: uses << operator to write file to disk in WebSocketReceiver::handleMessage
2021-03-19 11:39:14 -07:00
Benjamin Sergeant
39b2a3d6df
ws curl -O mingw compile fix + detect when we cannot extract a filename from the url to save file to disk with -O option
2021-03-19 11:35:25 -07:00
Benjamin Sergeant
056b02a494
ws: WebSocketSender uses anonymous namespace load instead of its own method
2021-03-19 11:25:48 -07:00
Benjamin Sergeant
48166a9a72
mingw: fix compile errors with linenoise and fstream
2021-03-19 11:18:55 -07:00
Benjamin Sergeant
f090c7659b
(ixwebsocket) Expose setHandshakeTimeout method
2021-03-07 19:29:28 -08:00
Benjamin Sergeant
22c3a7264e
ws: document bug in ws dnslookup command
2021-01-21 15:07:47 -08:00
Benjamin Sergeant
d0359a1764
new makeBroadcastServer websocket server method for classic servers, used by ws
2021-01-03 11:24:12 -08:00
Benjamin Sergeant
fabc07d598
(ws) trim ws dependencies no more ixcrypto and ixcore deps
2020-12-25 16:25:58 -08:00
Benjamin Sergeant
0b7919834a
(ws) trim ws dependencies, only depends on ixcrypto and ixcore
2020-12-25 15:17:46 -08:00
Benjamin Sergeant
461a645704
(ws) Implement simple header based websocket authorization technique to reject
2020-12-17 22:42:14 -08:00
Benjamin Sergeant
93ad709dfd
fix ws curl error message + some Windows warnings
2020-12-12 11:01:22 -08:00
Benjamin Sergeant
262f32857f
(ws autoroute) Display result in compliant way (AUTOROUTE IXWebSocket :: N ms) so that result can be parsed easily
2020-11-07 09:34:54 -08:00
Benjamin Sergeant
91fb3992ac
(ws gunzip + IXGZipCodec) Can decompress gziped data with libdeflate. ws gunzip computed output filename was incorrect (was the extension aka gz) instead of the file without the extension. Also check whether the output file is writeable.
2020-11-07 09:34:54 -08:00
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
6f188a5131
(ws) add gzip and gunzip ws sub commands
2020-09-28 10:19:27 -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
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
0ad66a27f2
Fix ws/ws.cpp:2875:10: warning: unused variable noSend [-Wunused-variable]
2020-09-03 09:17:52 -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
629c155044
(ws) fix silly compile error (missing ix:: namespace)
2020-08-26 14:30:58 -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
3dabd3a556
(ws) merge all ws_*.cpp files into a single one to speedup compilation
2020-08-15 19:30:17 -07:00
Benjamin Sergeant
5423a31d5a
(ws) have more subcommand handle --pidfile, to write pid to a file
2020-08-14 15:09:12 -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
eb197edcec
ws --version does not get printed with a log prefix
2020-08-12 18:44:47 -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
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
d719c41e31
(ws) ws echo_server. Add a -q option to only enable warning and error log levels. This is useful for bench-marking so that we do not print a lot of things on the console. (cf #235 )
2020-08-02 11:53:21 -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
9a47ec1217
(ixsnake) uses an std::thread to handle redis subscriptions (2 unittest still failing)
2020-07-24 18:12:07 -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