carr-7
72d6651ded
Read body in parseRequest for HttpServer ( #244 )
...
Co-authored-by: Jay <jasoncarr@Jasons-MacBook-Pro.local>
2020-09-12 13:53:56 -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
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
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
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
22dffd5b7e
WebSocket::close is re-entrant
2020-07-27 17:38:33 -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
f7031d0d3e
set thread name in only one file
2020-07-17 11:43:50 -07:00
Benjamin Sergeant
595e6c57df
IXSelectInterruptPipe.h included in cmake on windows but compiled out
2020-07-17 11:33:02 -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
b21306376b
uwp build fix + more ivp6 support
2020-07-08 12:38:55 -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
3a673575dd
clang format
2020-07-08 10:39:46 -07:00
Benjamin Sergeant
d5e51840ab
use const iterators
2020-07-08 10:34:14 -07:00
Benjamin Sergeant
543c2086b2
more templates in WebSocketTransport
2020-07-07 21:26:42 -07:00
Benjamin Sergeant
95eab59c08
WebSocketPerMessageDeflateCompressor can work with vector or std::string
2020-07-07 21:26:04 -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
ee8a3a52ec
compile tweak on linux + version bump
2020-06-04 15:01:16 -07:00
Benjamin Sergeant
531bd624b5
remove spaces in keys + verbose statsd
2020-06-04 14:57:36 -07:00
Benjamin Sergeant
c317100b47
(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:35:55 -07:00
Benjamin Sergeant
268f528423
httpd gzip compression / set a response header and search for gzip in the request header in case deflate is added to gzip in there
2020-06-01 17:11:42 -07:00
Benjamin Sergeant
4872b59fac
fix windows build (or operator is not supported || is required
2020-05-29 17:18:09 -07:00
Benjamin Sergeant
bb1be240ec
fix linux compile failure
2020-05-29 16:53:57 -07:00
Benjamin Sergeant
b008c97c83
(http server) support gzip compression
2020-05-29 16:49:29 -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
Olivia Zoe
f1be48aff1
Re-enable support for clang 5 and earlier ( #206 )
2020-05-20 10:56:24 -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
c030a62c8b
openSSLLockingCallback should be static
2020-05-06 16:57:53 -07:00
Benjamin Sergeant
931530b101
only register the crypto lock callback if no-one has registered them before us
2020-05-06 16:49:04 -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
a65b334961
assert that the timeout is non zero in makeCancellationRequestWithTimeout
2020-05-06 15:53:27 -07:00
Benjamin Sergeant
2de8aafcbc
another windows build error in IXUdpSocket ...
2020-05-05 08:29:39 -07:00
Benjamin Sergeant
f075f586e1
fix windows compile error with UdpSocket::recvfrom
2020-05-05 08:15:01 -07:00
Benjamin Sergeant
93cb898989
fix compile error with UdpSocket::recvfrom
2020-05-05 08:03:04 -07:00
Benjamin Sergeant
2b4c06e6d2
UdpSocket::recvfrom last argument does not have to be a uint32_t
2020-05-05 07:49:07 -07:00
tostc
7337ed34a6
Added asynchronous udp receive function ( #193 )
...
* Added asynchronous udp receive function
* Remove receive_async and added low level recv, which is non-blocking.
* Remove thread include
* Moved unix include to IXNetSystem.h
2020-05-05 07:47:41 -07:00
Benjamin Sergeant
15355188d5
(http client) rework a bit PATCH pull request, fix compile error with setForceBody and initialize _forceBody to false
2020-05-05 07:43:55 -07:00
Liz3
8760c87635
add PATCH and add option to enforce a http request body write ( #195 )
...
* add PATCH and add option to enforce a http request body write
* remove private bool prop
2020-05-05 07:38:55 -07:00
Benjamin Sergeant
2786631e3b
clang-format
2020-05-04 17:19:25 -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
b34d9f6a06
uwp fixes
2020-05-01 11:27:59 -07:00
Benjamin Sergeant
303f99a432
refine previous commit
2020-05-01 10:37:25 -07:00
Benjamin Sergeant
a42ccea8dd
disable unicode
2020-05-01 09:22:03 -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
Francisco Javier
953c680eee
Bug on setting extra headers. Now it loses the first string character. ( #184 )
...
Client code:
...
ix::WebSocketHttpHeaders headers {
{"Cookie", "ABC"}
};
...
Expected header string on server:
"Cookie: ABC"
Resulted header string on server:
"Cookie: BC"
Solution:
The easy way I found to solve the problem is to add a space where extra headers are set before sended to server.
Co-authored-by: Fco. Javier M. C <fcojavmc@todo-redes.com>
2020-04-25 11:39:37 -07:00
Benjamin Sergeant
2802cad8c4
more tls in memory certs doc + bump file format
2020-04-24 15:50:39 -07:00
Benjamin Sergeant
9f770b10c0
clang-format
2020-04-24 15:34:00 -07:00
Max Weisel
677f79b0ea
Implement API for adding custom roots via a string ( #178 )
...
* Implement API for adding custom roots via a string. SocketTLSOptions API design needs work, but the IXSocketOpenSSL implementation feels good to me.
* Improve API design for specifying roots from memory.
* Add in-memory root CAs mbedtls implementation.
* Fix bug in newer versions of OpenSSL with in-memory certificate handling.
2020-04-24 15:32:11 -07:00
Benjamin Sergeant
2469d7102e
missing headers for url parsing
2020-04-24 14:13:15 -07:00
Benjamin Sergeant
79acb915ce
merge the 2 url parsing file into one, fix a silly build error
2020-04-24 14:08:59 -07:00
Benjamin Sergeant
c70f1d09a8
include all ssl backends inside special per backend macro
2020-04-24 12:47:47 -07:00
Benjamin Sergeant
9d79596629
(ixbots) display sent/receive message, per seconds as accumulated
2020-04-17 09:56:09 -07:00
Benjamin Sergeant
0b6fd989f5
(ws) add a --logfile option to configure all logs to go to a file
2020-04-17 09:35:47 -07:00
Benjamin Sergeant
0f5d15aa11
(cobra bots) add a utility class to factor out the common bots features (heartbeat) and move cobra to sentry bot to use it
2020-04-16 14:49:49 -07:00
Benjamin Sergeant
ccfd196863
clang-format
2020-04-16 11:58:06 -07:00
Benjamin Sergeant
9b8cfa0a37
(websocket) add a positive number to the heartbeat message sent, incremented each time the heartbeat is sent
2020-04-15 18:33:36 -07:00
Benjamin Sergeant
64754df66c
(ixcobra) change cobra event callback to use a struct instead of several objects, which is more flexible/extensible
2020-04-15 17:38:39 -07:00
Benjamin Sergeant
386ef3ab04
(ixcobra) make CobraConnection_EventType an enum class (CobraEventType)
2020-04-15 16:59:17 -07:00
Benjamin Sergeant
2c4bf8f4bd
(ixsentry) add a library method to upload a payload directly to sentry
2020-04-14 22:02:51 -07:00
Benjamin Sergeant
3a2c446225
missing headers in IXWebSocketCloseInfo.h, ,IXWebSocketErrorInfo.h and IXWebSocketOpenInfo.h
2020-04-14 21:52:27 -07:00
Benjamin Sergeant
35630fe7ed
new makefile target + better error description in Socket::readBytes
2020-04-14 21:50:56 -07:00
Benjamin Sergeant
bea582c208
cobra subscriber in fluentd mode insert a created_at timestamp entry
2020-04-14 15:30:30 -07:00
Benjamin Sergeant
432f0570f4
(websocket) WebSocketMessagePtr is a unique_ptr instead of a shared_ptr
2020-04-13 21:56:01 -07:00
Benjamin Sergeant
37a054723a
(websocket) use persistent member variable as temp variables to encode/decode zlib messages in order to reduce transient allocations
2020-04-13 21:38:15 -07:00
Benjamin Sergeant
c57cf413fb
(ws) add a --runtime option to ws cobra_subscribe to optionally limit how much time it will run
2020-04-13 19:03:53 -07:00
Benjamin Sergeant
f1c106728b
(third_party deps) fix #177 , update bundled spdlog to 1.6.0
2020-04-11 13:32:16 -07:00
Benjamin Sergeant
f9d75c9374
(windows) when using OpenSSL, the system store is used to populate the cacert. No need to ship a cacert.pem file with your app.
2020-04-04 18:33:01 -07:00
Benjamin Sergeant
f3b97097cd
(windows) ci: windows build with TLS (mbedtls) + verify that we can be build with OpenSSL
2020-04-04 17:49:52 -07:00
Benjamin Sergeant
1d3db5f75b
(cobra to statsd bot) add ability to extract a numerical value and send a timer event to statsd, with the --timer option
2020-03-30 16:08:47 -07:00
Benjamin Sergeant
e465f7af52
(cobra to statsd bot) bot init was missing + capture socket error
2020-03-29 22:03:27 -07:00
Benjamin Sergeant
f8bf1fe7cd
(cobra to statsd bot) add ability to extract a numerical value and send a gauge event to statsd
2020-03-29 19:32:43 -07:00
Benjamin Sergeant
cfa5718e40
(ws cobra subscriber) use a Json::StreamWriter to write to std::cout, and save one std::string allocation for each message printed
2020-03-29 15:24:46 -07:00
Benjamin Sergeant
40c619c1ec
(docker) trim down docker image (300M -> 12M) / binary built without symbol and size optimization, and source code not copied over
2020-03-29 13:06:44 -07:00
Benjamin Sergeant
22b02e0e5c
update doc
2020-03-28 10:46:42 -07:00
Benjamin Sergeant
686aface26
bump version to 9.1.3
2020-03-28 10:33:05 -07:00
Benjamin Sergeant
771ebb2a4c
(mac ssl) rename DarwinSSL -> SecureTransport (see this too -> https://github.com/curl/curl/issues/3733 )
2020-03-26 19:40:52 -07:00
Benjamin Sergeant
0fffb1e894
(websocket) fix data race accessing _socket object without mutex protection when calling wakeUpFromPoll in WebSocketTransport.cpp
2020-03-26 19:31:59 -07:00
Benjamin Sergeant
d2db7310ff
(ixcobra) add explicit event types for handshake, authentication and subscription failure, and handle those by exiting in ws_cobra_subcribe and friends
2020-03-26 18:54:28 -07:00
Benjamin Sergeant
dffa759f71
move IXBench code under ixwebsocker folder
2020-03-24 20:53:25 -07:00
Benjamin Sergeant
61e789d6a4
formatting
2020-03-24 20:37:55 -07:00
Benjamin Sergeant
37cb2cc266
(ws connect) display statistics about how much time it takes to stop the connection / cf #168
2020-03-24 20:29:09 -07:00
Benjamin Sergeant
179e17895d
unique_ptr for sockets
2020-03-24 12:48:55 -07:00
Benjamin Sergeant
9f818c7acf
(socket) selectInterrupt member is an unique_ptr instead of being a shared_ptr
2020-03-24 10:00:41 -07:00
Benjamin Sergeant
9dcc2538ae
(websocket) reset per-message deflate codec everytime we connect to a server/client
2020-03-23 18:46:30 -07:00
Benjamin Sergeant
f41a54186c
(websocket) fix #167 , a long standing issue with sending empty messages with per-message deflate extension (and hopefully other zlib bug)
2020-03-23 15:21:53 -07:00
Benjamin Sergeant
e0733d205c
fix linux linker error
2020-03-22 21:59:30 -07:00
Benjamin Sergeant
f72f845ad2
trim headers and unused code in IXUdpSocket
2020-03-22 21:51:41 -07:00
Benjamin Sergeant
a0ffb2ba53
cobra to statsd bot ported to windows + add unittest
2020-03-22 19:37:04 -07:00
Benjamin Sergeant
5ce846f48b
indent files
2020-03-20 17:00:18 -07:00
Benjamin Sergeant
1d6373335c
(websocket+tls) fix hang in tls handshake which could lead to ANR, discovered through unittesting.
2020-03-20 16:57:27 -07:00
Benjamin Sergeant
829751b7af
(cobra) CobraMetricsPublisher can be configure with an ix::CobraConfig + more unittest use SSL in server + client
2020-03-20 12:22:00 -07:00
Benjamin Sergeant
6085839ef7
minor refactoring
2020-03-18 11:45:28 -07:00
Benjamin Sergeant
696d802703
bump version
2020-03-18 01:15:15 -07:00
Benjamin Sergeant
b287730c19
Simplify ping/pong based heartbeat implementation
2020-03-18 01:14:08 -07:00
Benjamin Sergeant
d6f534de06
(ws) ws echo_server gains a new option (-p) to disable responding to pings with pongs
2020-03-18 00:01:57 -07:00
Benjamin Sergeant
e8f81776f9
(cobra to sentry bot + docker) default docker file uses mbedtls + ws cobra_to_sentry pass tls options to sentryClient.
2020-03-16 10:05:21 -07:00
Benjamin Sergeant
44f599747e
(cobra client) ws cobra subscribe resubscribe at latest position after being disconnected
2020-03-13 17:30:31 -07:00
Benjamin Sergeant
9801ebdb36
(cobra client) can subscribe with a position
2020-03-13 16:06:13 -07:00
Benjamin Sergeant
332ffb0603
(cobra client) pass the message position to the subscription data callback
2020-03-13 12:49:37 -07:00
Benjamin Sergeant
90df3d1805
(openssl tls backend) Fix a hand in OpenSSL when using TLS v1.3 ... by disabling TLS v1.3
2020-03-12 16:27:25 -07:00
Benjamin Sergeant
6a4d69afc5
(cobra) IXCobraConfig struct has tlsOptions and per message deflate options
2020-03-11 12:40:32 -07:00
Benjamin Sergeant
0a11132b07
(cobra) add IXCobraConfig struct to pass cobra config around
2020-03-11 10:48:41 -07:00
Benjamin Sergeant
b1f30bb40f
(ws cobra_subscribe) add a --fluentd option to wrap a message in an enveloppe so that fluentd can recognize it
2020-03-09 15:25:43 -07:00
Benjamin Sergeant
4ef04b8339
(websocket server) fix regression with disabling zlib extension on the server side. If a client does not support this extension the server will handle it fine. We still need to figure out how to disable the option. cc #160
2020-03-02 16:53:08 -08:00
Benjamin Sergeant
e15a2900e7
(websocket) traffic tracker received bytes is message size while it should be wire size
2020-02-26 11:24:41 -08:00
Benjamin Sergeant
140a21c8b3
(ws_connect) display sent/received bytes statistics on exit
2020-02-26 11:23:36 -08:00
Benjamin Sergeant
6d0c568aaa
update doc / fix incorrect comment about sending defaultint to binary mode
2020-02-24 16:24:32 -08:00
Benjamin Sergeant
4a9b0b9dfd
(server) give thread name to some usual worker threads / unittest is broken !!
2020-02-23 09:44:58 -08:00
Benjamin Sergeant
8837d5e784
(websocket server) fix regression from 8.1.2, where per-deflate message compression was always disabled
2020-02-22 10:15:43 -08:00
Benjamin Sergeant
242c945400
(client + server) Fix #155 / http header parser should treat the space(s) after the : delimiter as optional. Fixing this bug made us discover that websocket sub-protocols are not properly serialiazed, but start with a ,
2020-02-21 14:05:38 -08:00
Benjamin Sergeant
4c66a7561e
(WebSocketServer) add option to disable deflate compression, exposed with the -x option to ws echo_server
2020-02-18 21:38:28 -08:00
Benjamin Sergeant
111475e65c
(ws cobra to statsd and sentry sender) exit if no messages are received for one minute, which is a sign that something goes wrong on the server side. That should be changed to be configurable in the future
2020-02-18 12:43:07 -08:00
Benjamin Sergeant
45061b0b14
(http client + sentry minidump upload) Multipart stream closing boundary is invalid + mark some options as mandatory in the command line toolsj
2020-02-13 12:25:18 -08:00
Benjamin Sergeant
1bb847a51c
bump version for #154 fix which was about removing the unused subtree which was causing some way of installing to break
2020-02-12 11:21:46 -08:00
Benjamin Sergeant
f994a41845
(IXCobraConnection) set a ping timeout of 90 seconds. If no pong messages are received as responses to ping for a while, give up and close the connection
2020-01-31 16:25:45 -08:00
Benjamin Sergeant
f3760318b7
(cobra to sentry) remove noisy logging
2020-01-31 16:07:36 -08:00
Benjamin Sergeant
c2362e6875
(ixcobra) check if we are authenticated in publishNext before trying to publish a message
2020-01-30 20:52:11 -08:00
johnfoconnor
d91b24723d
version 8.0.2: add severity level for log sentry events ( #152 )
...
* script to update version
* version 8.0.2: add severity level for log sentry events
2020-01-28 14:04:18 -08:00
Benjamin Sergeant
2d28b7d4ff
bump version and update changelog
2020-01-28 10:50:03 -08:00
Benjamin Sergeant
86d3fc8621
quit checkConnection after sleeping if requested to stop (iterate on #151 )
2020-01-28 10:46:04 -08:00
Benjamin Sergeant
422c7ff855
wait with a condition variable instead of a this_thread::sleep_for so that waiting can be cancelled when we stop/shutdown the data thread (see #151 )
2020-01-28 10:04:32 -08:00
Benjamin Sergeant
1c7ccbae12
bump version
2020-01-27 17:41:27 -08:00
Benjamin Sergeant
ed2a81f115
Fix #148
2020-01-27 17:29:44 -08:00
Seth Alves
7ed8ac208a
bind returns zero on success ( #149 )
2020-01-27 17:15:44 -08:00
Benjamin Sergeant
aa12098cb5
add -6 option to ws echo_server / cf #148
2020-01-26 16:44:44 -08:00
Benjamin Sergeant
5d4bb90703
(SocketServer) add ability to bind on an ipv6 address
2020-01-26 16:21:56 -08:00
Benjamin Sergeant
fad9f89846
(ws) add a dnslookup sub-command, to get the ip address of a remote host
2020-01-26 16:21:56 -08:00
ronen barzel
527308a049
Remove 'handleConnect() done' info message ( #147 )
2020-01-26 10:03:17 -08:00
Benjamin Sergeant
65bae2736d
fix #144 - get rid of stubbed windows ssl schannel backend
2020-01-14 13:39:48 -08:00
Benjamin Sergeant
a923caec0b
install gdb in the alpine dockerfile
2020-01-14 13:37:28 -08:00
Benjamin Sergeant
4d7332c4ee
activate chat test on Windows
2020-01-13 16:44:10 -08:00
Benjamin Sergeant
4f3f1f3e4c
simplify socket interface
2020-01-12 22:30:16 -08:00
Benjamin Sergeant
2a954b5b5b
use curl code for large apple ssl send
2020-01-12 22:04:06 -08:00
Benjamin Sergeant
d2c5ab1cc4
(openssl + mbedssl) fix #140 , can send large files with ws send over ssl / still broken with apple ssl
2020-01-12 11:08:44 -08:00