Benjamin Sergeant
|
f6e34e4b34
|
stop using C++14 lambda capture init, code should be C++11 compatible
|
2021-01-03 11:44:05 -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
|
8910ebcc3c
|
enable some unittests on windows
|
2020-12-26 12:44:06 -08:00 |
|
Benjamin Sergeant
|
1ea3bc3666
|
no unity build on Windows because of a problem with spdlog
|
2020-12-25 17:31:30 -08:00 |
|
Benjamin Sergeant
|
fe92ad205d
|
build with unity builds
|
2020-12-25 17:16:36 -08:00 |
|
Benjamin Sergeant
|
e4a1ac80c2
|
more stale references to ixcore
|
2020-12-25 16:32:52 -08:00 |
|
Benjamin Sergeant
|
e9dc7f7aed
|
case sensitive file name
|
2020-12-25 16:29:47 -08:00 |
|
Benjamin Sergeant
|
cd82eed4ec
|
simple cmake build error
|
2020-12-25 16:28:15 -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
|
b89621fa78
|
remove ixbots / ixsnake / ixcobra / ixredis (which should go in their own standalone project
|
2020-12-25 15:32:15 -08:00 |
|
Benjamin Sergeant
|
049d1eec63
|
remove some un-needed third party code
|
2020-12-25 15:28:39 -08:00 |
|
Benjamin Sergeant
|
6122154f74
|
test only depend on ixcore and ixcrypto
|
2020-12-25 15:27:11 -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
|
6035dd4c11
|
fix ci
|
2020-12-22 21:45:26 -08:00 |
|
Benjamin Sergeant
|
1d0432c8c5
|
(build) rename makefile to makefile.dev to ease cmake BuildExternal (fix #261)
|
2020-12-22 21:42:39 -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
|
2fac4bd9ef
|
s/autobahn/autoroute
|
2020-11-25 10:00:35 -08:00 |
|
Benjamin Sergeant
|
f566fb457b
|
update readme
|
2020-11-25 09:59:27 -08:00 |
|
Benjamin Sergeant
|
75e9c84388
|
fix buggy message and remove un-needed include
|
2020-11-19 14:27:10 -08:00 |
|
Benjamin Sergeant
|
223cd41b3c
|
(ixwebsocket) Handle EINTR return code in ix::poll and IXSelectInterrupt
|
2020-11-16 13:53:09 -08:00 |
|
Benjamin Sergeant
|
60aeaec734
|
hand EINTR in IXSelectInterruptPipe::notify and IXSelectInterruptPipe::read
|
2020-11-16 13:52:13 -08:00 |
|
Benjamin Sergeant
|
fcf114e2b2
|
Handle EINTR in ix::poll on Unix
|
2020-11-16 10:14:59 -08:00 |
|
Benjamin Sergeant
|
ea32c0e1ec
|
fix ixsentry detection of std::regex
|
2020-11-16 09:19:08 -08:00 |
|
Benjamin Sergeant
|
866670a906
|
(ixwebsocket) Fix #252 / regression in 11.0.2 with string comparisons
|
2020-11-16 08:41:08 -08:00 |
|
Benjamin Sergeant
|
80432edbd0
|
add 2 new ubuntu docker files
|
2020-11-15 21:26:59 -08:00 |
|
Benjamin Sergeant
|
23606b45c7
|
C++11 compatible
|
2020-11-15 21:09:58 -08:00 |
|
Benjamin Sergeant
|
2aac0afca3
|
compile attempt 2 with old OpenSSL versions
|
2020-11-15 11:32:50 -08:00 |
|
Benjamin Sergeant
|
508d8c7253
|
compile attempt with old OpenSSL versions
|
2020-11-15 11:23:44 -08:00 |
|
Benjamin Sergeant
|
8f5134528b
|
(ixwebsocket) use a C++11 compatible make_unique shim
|
2020-11-15 09:56:54 -08:00 |
|
Benjamin Sergeant
|
738c6040f7
|
fix memory leak in dns unittest
|
2020-11-12 13:07:31 -08:00 |
|
Benjamin Sergeant
|
1350e9b307
|
missing vector header
|
2020-11-11 21:47:07 -08:00 |
|
Benjamin Sergeant
|
4e2a40e031
|
(socket) replace a std::vector with an std::array used as a tmp buffer in Socket::readBytes
|
2020-11-11 21:39:31 -08:00 |
|
Benjamin Sergeant
|
594d2e194a
|
linux asan / run test in verbose mode
|
2020-11-11 11:32:47 -08:00 |
|
Benjamin Sergeant
|
977a1ed7e1
|
link ordering fix for Linux
|
2020-11-11 19:23:51 +00:00 |
|
Benjamin Sergeant
|
8b3789af56
|
linux build fix attempt
|
2020-11-11 11:16:19 -08:00 |
|
Benjamin Sergeant
|
f60485d9c2
|
use ctest for testing
|
2020-11-11 11:11:34 -08:00 |
|
Benjamin Sergeant
|
b05b124cb3
|
update readme
|
2020-11-11 09:20:42 -08:00 |
|
Benjamin Sergeant
|
723c208f22
|
fix version
|
2020-11-11 09:18:03 -08:00 |
|
Benjamin Sergeant
|
21758f1183
|
(openssl security fix) in the client to server connection, peer verification is not done in all cases. See https://github.com/machinezone/IXWebSocket/pull/250
|
2020-11-11 09:16:14 -08:00 |
|
Benjamin Sergeant
|
51ec32405d
|
(docker) build docker container with zlib disabled
|
2020-11-07 11:22:52 -08:00 |
|
Benjamin Sergeant
|
6a90dc7259
|
(cmake) DEFLATE -> Deflate in CMake to stop warnings about casing
|
2020-11-07 09:40:54 -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
|
730fbc5b31
|
unity build fixes
|
2020-10-26 19:18:55 -07:00 |
|
Benjamin Sergeant
|
d0562664ad
|
(http code) With zlib disabled, some code should not be reached
|
2020-10-19 13:37:42 -07: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
|
032ed9af9c
|
IXExponentialBackoff.cpp: fix typo in source code file name in the header block
|
2020-10-05 10:39:11 -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
|
61dbcc2b84
|
fix docker and linux build
|
2020-09-28 11:56:49 -07:00 |
|
Benjamin Sergeant
|
e61680ff0f
|
linux build fix about memset not being found
|
2020-09-28 11:01:59 -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
|
93167e3917
|
cmake / move FetchContent spdlog to a single place
|
2020-09-26 13:55:03 -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 |
|
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
|
b04e5c5529
|
http server: use socket->readBytes which reads in bulk instead of N calls to socket->readByte
|
2020-09-12 14:09:25 -07:00 |
|
Benjamin Sergeant
|
1e8c421d66
|
formatting
|
2020-09-12 13:55:27 -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
|
b74f7319c6
|
add a note to the readme about the fact that the MinGW compiler is not supported. close #242
|
2020-09-03 13:50:46 -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
|
5534a7fdf9
|
add a github action to publish a docker container for ws
|
2020-09-02 11:52:59 -07:00 |
|
Benjamin Sergeant
|
efb245278d
|
unittest / switch from using the REQUIRE macro, which halts (and usually crash) the test to the CHECK macro in IXWebSocketChatTest.cpp
|
2020-08-31 13:56:45 -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
|
e8e98e667d
|
add ruby websocket bencharking code using
faye-websocket-ruby to receive messages as fast as possible
|
2020-08-18 13:45:53 -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
|
72472f2899
|
IXWebSocketPerMessageDeflateCodec: use std::array instead of std::unique_ptr for a fixed size array
|
2020-08-17 16:36:24 -07:00 |
|
Benjamin Sergeant
|
42f71364ca
|
IXHttpClient.cpp: use std::array instead of std::unique_ptr for a fixed size array
|
2020-08-17 16:25:55 -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
|
0498e2fa98
|
IXBench.h is missing a pragma once
|
2020-08-15 18:58:46 -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
|
a8284e64e3
|
add a simple shell script to test websocket proxy
|
2020-08-14 15:09:34 -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
|
53575f8d90
|
change makefile openssl target to use ninja and install ws
|
2020-08-14 15:08:37 -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
|
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
|
e7c4f0b171
|
add documentation for the websocket send callback and the send return type (fix #239)
|
2020-08-11 11:24:00 -07:00 |
|