Benjamin Sergeant
a0cfaff528
Implement SSL server with OpenSSL backend / still flaky
2019-10-01 15:43:37 -07:00
Benjamin Sergeant
d6542383ed
Add --tls option to pass to ws server command, to enable/disable tls
2019-10-01 13:54:46 -07:00
Benjamin Sergeant
afed387bcf
Socket Factory has only one function which works for server and client code, and can do tls for both
2019-09-30 22:06:46 -07:00
Benjamin Sergeant
845bbc5208
all ws subcommands propagate tls options to servers (unimplemented) or ws or http client (implemented) (contributed by Matt DeBoer)
2019-09-30 18:21:20 -07:00
Benjamin Sergeant
7a26ff4de8
clang-format
2019-09-30 17:52:39 -07:00
Benjamin Sergeant
a1f3c40a2d
ws has a --version option
2019-09-30 17:31:33 -07:00
Benjamin Sergeant
55141aa875
ws curl + http client tls option handling + ca cert processing for mbedtls
2019-09-29 21:13:11 -07:00
Benjamin Sergeant
864249b62d
most ws command take tls options, no-op for now (contributed by Matt DeBoer)
2019-09-29 18:29:51 -07:00
Benjamin Sergeant
d1fc31b894
ws transfer + send + receive / improved logging (contributed by Matt DeBoer)
2019-09-29 17:21:52 -07:00
Benjamin Sergeant
05c7a26e3a
Export port 8008 for Docker + test_ws.sh is /bin/sh compatible
2019-09-26 14:36:14 -07:00
Benjamin Sergeant
6762978ddf
http server unittest + refactoring
2019-09-26 09:45:59 -07:00
Benjamin Sergeant
658650cf24
http server: in redirect mode, POST request are given a 200 status code and an empty response
2019-09-26 09:27:27 -07:00
Benjamin Sergeant
8a662b35e1
Http server: add options to ws https to redirect all requests to a given url.
2019-09-26 09:10:30 -07:00
Benjamin Sergeant
3cd7c0194f
Stop having ws send subcommand send a binary message in text mode, which would cause error in make ws_test
shell script test
2019-09-25 15:39:43 -07:00
Benjamin Sergeant
ceb0c602c9
Add simple Redis Server which is only capable of doing publish / subscribe. New ws redis_server sub-command to use it. The server is used in the unittest, so that we can run on CI in environment where redis isn not available like github actions env.
2019-09-23 21:04:01 -07:00
Benjamin Sergeant
95722e3bbb
fix linux compilation error, by ordering dependant libraries properly
2019-09-23 12:32:04 -07:00
Benjamin Sergeant
1cde26771a
move snake code to its own subfolder like ixcobra, ixcrypto, etc...
2019-09-23 11:46:16 -07:00
Benjamin Sergeant
cd3c9d879c
reformat everything with clang-format
2019-09-23 10:25:23 -07:00
Benjamin Sergeant
ed4be773a2
Fix crash in the Linux unittest in the HTTP client code, in Socket::readBytes. Cobra Metrics Publisher code returns the message id of the message that got published, to be used to validated that it got sent properly when receiving an ack.
2019-09-21 09:23:58 -07:00
Benjamin Sergeant
fcdb57f31d
missing file in ws tool
2019-09-19 12:51:34 -07:00
Benjamin Sergeant
47b3368f78
In DNS lookup code, make sure the weak pointer we use lives through the expected scope (if branch)
2019-09-19 12:51:11 -07:00
Benjamin Sergeant
e2121d809e
fix unittest warnings + remove trailing spaces
2019-09-12 11:43:52 -07:00
Benjamin Sergeant
2453f5b717
restructure project
2019-09-10 12:19:22 -07:00
Benjamin Sergeant
427db5bd59
Fix Windows CI with appveyor ( #110 )
...
Fix windows CI with appveyor + minor tweaks.
2019-09-07 14:07:00 -07:00
Benjamin Sergeant
37a7b362d8
add cobra metrics publisher + server unittest
2019-09-05 21:57:05 -07:00
Benjamin Sergeant
21404c23dd
snake unsubscription fixes
2019-09-05 20:47:15 -07:00
Benjamin Sergeant
eeefc9cf4b
Fix compiler warning
2019-09-05 20:29:14 -07:00
Benjamin Sergeant
24b2475b11
ws snake (cobra simple server) add basic support for unsubscription + subscribe send the proper subscription data + redis client subscription can be cancelled
2019-09-05 20:28:34 -07:00
Benjamin Sergeant
2defe6f597
IXCobraConnection / pdu handlers can crash if they receive json data which is not an object
2019-09-05 20:24:42 -07:00
Benjamin Sergeant
f9dc460325
cobra publish fix
2019-09-05 14:31:28 -07:00
Benjamin Sergeant
eccd8b3c0e
ws autobahn / use condition variables for stopping test case + add more logging on errors
2019-09-04 12:21:54 -07:00
Benjamin Sergeant
a43046c921
ws autobahn / report progress with spdlog::info to get timing info
2019-09-04 10:16:32 -07:00
Benjamin Sergeant
b360fb9ca0
truncate module
2019-09-03 20:14:35 -07:00
Benjamin Sergeant
96380dd462
doc
2019-09-01 11:28:27 -07:00
Benjamin Sergeant
61bd765784
compute test case count properly
2019-09-01 11:17:28 -07:00
Benjamin Sergeant
4a0f06193b
refactoring
2019-09-01 11:10:27 -07:00
Benjamin Sergeant
826917ef17
condition variable instead of busy looping
2019-09-01 10:50:16 -07:00
Benjamin Sergeant
4e1dbbbecf
quiet mode
2019-09-01 10:45:51 -07:00
Benjamin Sergeant
b5b0de2083
+add utf-8 validation code, not hooked up properly yet
...
+ws autobahn / Add code to test websocket client compliance with the autobahn test-suite
+Ping received with a payload too large (> 125 bytes) trigger a connection closure
+cobra / add tracking about published messages
+cobra / publish returns a message id, that can be used when
+cobra / new message type in the message received handler when publish/ok is received (can be used to implement an ack system).
2019-08-31 16:47:10 -07:00
Benjamin Sergeant
7a73ec7c06
New option to cap the max wait between reconnection attempts. Still default to 10s. (setMaxWaitBetweenReconnectionRetries) ( #108 )
2019-08-30 12:46:35 -07:00
Benjamin Sergeant
185869e628
tentative gcc build fix
2019-08-26 14:29:16 -07:00
Benjamin Sergeant
d3e5a63fa2
ws connect has a new option to send HTTP headers + use WebSocketHttpHeaders instead of unordered_map<string, string>
2019-08-26 10:19:09 -07:00
Benjamin Sergeant
0847e60d2a
CobraConnection: sets a unique id field for all messages sent to [cobra]( https://github.com/machinezone/cobra ).
...
CobraConnection: sets a counter as a field for each event published.
2019-08-26 09:51:37 -07:00
Benjamin Sergeant
ff75846d2d
Windows: use select instead of WSAPoll, through a poll wrapper
2019-08-22 10:34:17 -07:00
Benjamin Sergeant
2f730303c2
CobraMetricThreadedPublisher _enable flag is an atomic, and CobraMetricsPublisher is enabled by default
2019-08-14 19:54:30 -07:00
Benjamin Sergeant
5cc21c87fb
new options for cobra commands
...
- ws cobra_subscribe has a new -q (quiet) option
- ws cobra_subscribe knows to and display msg stats (count and # of messages received per second)
- ws cobra_subscribe, cobra_to_statsd and cobra_to_sentry commands have a new option, --filter to restrict the events they want to receive
2019-08-01 15:22:24 -07:00
Benjamin Sergeant
505e0c79d9
ws connect command has a new option to send in binary mode (still default to text)
2019-07-25 15:48:45 -07:00
Benjamin Sergeant
ca9d59c1c1
add better line editing capability to ws connect, thanks to linenoise-cpp
2019-07-25 11:54:50 -07:00
Benjamin Sergeant
f84bc53c8d
Feature/httpd ( #94 )
...
* Stub code for http server
* can send a response, cannot process body yet
* write headers to the response
* remove commented code
* add simple test + set default http handler
* tweak CI + unittest
* add missing file
* rewrite http::trim in a simple way
* doc
2019-06-23 14:54:21 -07:00
Benjamin Sergeant
dbd62b8622
cobra_to_sentry / backtraces are reversed and line number is not extracted correctly
2019-06-13 10:18:40 -07:00