Benjamin Sergeant
89909c15bc
cobra to sentry fixes
2019-06-05 18:47:48 -07:00
Benjamin Sergeant and GitHub
78b3d7ff2d
Feature/http async ( #90 )
...
* unittest working / uses shared_ptr for a bunch of things 🗿
* fix command line tools
* fix ws + add doc
* add more logging
2019-06-05 17:04:24 -07:00
Benjamin Sergeant
012193c74e
Fix compile error with JSON uint64_t 🚯
2019-06-04 13:45:29 -07:00
Benjamin Sergeant
539abe5151
HttpResponse is a struct, not a tuple 🉐
2019-06-03 22:12:52 -07:00
Benjamin Sergeant
7e5aba140e
http / PUT fix 🐚
2019-06-03 21:12:39 -07:00
Benjamin Sergeant
6b933391e5
http client: stop hardcoding Accept header, and use a default value if one is passed in 👭
2019-06-03 14:02:54 -07:00
Benjamin Sergeant
1e2a5ee21d
Add simple HTTP and HTTPS client test ㊙️
2019-06-03 12:23:35 -07:00
Benjamin Sergeant
225a5ef808
(http client) / Add DEL and PUT method, make requests and other utilities public 👐
2019-06-03 11:38:56 -07:00
Benjamin Sergeant and GitHub
396d0d9bdc
Feature/ws windows ( #86 )
...
* try to build ws on window on travis 📮
* cmake invocation fixed on windows 🐝
* Can use mbedtls to calculate hmac + no openssl config option
* build only windows on travis 🕢
* run msbuild 💷
* proper command to build 🕛
* some build fixes
* change weird sizeof call 🐙
* warning and missing includes fixes 💮
* ifdef out statsd code on windows 🐍
* logic invertion in ifdef 👄
* bring back makefile 📜
* command line tool is built with mbedtls 🏥
2019-06-02 20:46:20 -07:00
Benjamin Sergeant
88c8fb74bb
play with podmena ♓
2019-06-02 11:03:44 -07:00
Benjamin Sergeant
fd902c7a58
add notes about mbedtls CMake
2019-06-01 18:00:25 -07:00
Benjamin Sergeant and GitHub
06cbebe22e
Feature/mbedtls ( #84 )
...
* try to import mbedtls and build it
* add stubs socket class
* some boilterplate, read and write function implemented
* more boilterplate / current error in handshake because no CA cert is setup
* add something so skip ca verification, can ws curl https://google.com !
* cleanup / close implemented
* tweak CMakefiles
* typo in include
* update readme
* disable unittests
2019-06-01 17:41:48 -07:00
Benjamin Sergeant
ba4a9e1586
(clang format) fix indent and make (rarely) accessor/setters in class on a single line
2019-05-31 00:53:14 -07:00
Benjamin Sergeant
285386e47f
fix cobra to sentry + change ws docker file to use alpine (much smaller footprint)
2019-05-31 00:43:22 -07:00
Benjamin Sergeant
c65fec7271
clang format, based on cpprest
2019-05-30 08:46:50 -07:00
Benjamin Sergeant
879a4b38aa
std::chrono::duration is not initialized to 0 units of time
2019-05-26 14:16:15 -07:00
Benjamin Sergeant
13c87e38ed
do not select on a closed file descriptor (doing so crash on Android)
2019-05-22 18:58:22 -07:00
Benjamin Sergeant
718154cfb4
enable IXWebSocketMessageQTest.cpp on mac and windows
2019-05-22 11:03:13 -07:00
Benjamin Sergeant
d6eabae4f0
one cpu on windows for executing tests
2019-05-17 15:45:31 -07:00
Benjamin Sergeant
6bd81bb92e
add back IXWebSocketMessageQueue, with its unittest disabled
2019-05-16 22:41:39 -07:00
Benjamin Sergeant
126a91dfec
Linux build fix: strncpy needs <string.h>
2019-05-16 22:21:15 -07:00
Benjamin Sergeant
51fa147b99
Revert "Merge branch 'Dimon4eg-message-queue'"
...
This reverts commit 13fa325134 , reversing
changes made to aecd5e9c94 .
2019-05-16 22:15:17 -07:00
Benjamin Sergeant
6160877167
Fix Address Sanitizer heap-buffer-overflow in WebSocketHandshakeKeyGen::generate
...
=================================================================
==5077==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6070000077e0 at pc 0x00010ba18c54 bp 0x70000dd45b10 sp 0x70000dd45b08
READ of size 1 at 0x6070000077e0 thread T12
#0 0x10ba18c53 in WebSocketHandshakeKeyGen::generate(char const*, char*) libwshandshake.hpp:113
#1 0x10ba2065a in ix::WebSocketHandshake::serverHandshake(int, int) IXWebSocketHandshake.cpp:356
#2 0x10b9c4952 in ix::WebSocketTransport::connectToSocket(int, int) IXWebSocketTransport.cpp:190
#3 0x10b97e4c2 in ix::WebSocket::connectToSocket(int, int) IXWebSocket.cpp:193
2019-05-16 21:59:03 -07:00
Benjamin Sergeant
717f049579
Merge branch 'Dimon4eg-message-queue'
2019-05-16 19:26:45 -07:00
Benjamin Sergeant
f71331056c
bring back socket mutex which is needed, some CI failures are happening without it
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
c131ff2662
disable socket mutex usage in WebSocketTransport
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
616447e01d
remove dead code
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
8c1d66bcf3
refactor connect unittest so that it hits a local server instead of a remote server
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
bea580b906
travis makefile fix
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
c513e02b24
try to run ws test on linux + macOS on travis
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
90d71deb0f
Add constants for closing code and messages
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
fc0776303a
first socket test hit a local server instead of a remote server / this can help with a windows intermittent failure
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
bb0c6f9a8a
build ws on travis (mac + linux)
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
dae21e7681
use a regular mutex instead of a recursive one + stop properly
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
d28437ecc0
adding logging to IXWebSocketTestConnectionDisconnection makes it fails reliably
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
7fec24af67
Update README.md
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
0de3637569
Update README.md
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
f94c7cef59
-j option actually work ...
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
7734d63b1b
unittest / add options to set the number of jobs
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
f894504761
enum class HttpErrorCode derives from int
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
7aa9b4ee64
try to re-enable some tests
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
a12250dc16
recursive mutex + enable test that was breaking on Ubuntu Xenial + gcc + tsan
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
d8fbe1a63e
comment failing test
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
91e1760719
comment failing test
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
02c8a62e7d
do not build ws for now on travis
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
0c9bcfb8ac
more protection against socket when closing
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
bd4c5037c7
fix compile errors with C++ enum class
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
ccaaedf38f
close and stop with code and reason + docker = ubuntu xenial
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
e2acbe8499
Revert "Revert "fix cast warning caught on windows""
...
This reverts commit 25eaf730bc .
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
aba880a6b3
Revert "fix cast warning caught on windows"
...
This reverts commit 4edb7447df .
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
616e8da0a5
fix cast warning caught on windows
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
4fc8224264
build with gcc on Linux
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
66dae5840c
use spdlog for logging in the unittest
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
89b9e6e531
fix inverted conditional
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
fc4623381a
server code / add dedicated thread to close/join terminated connection threads
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
1023e925f6
travis cmake version on macOS does not know --parallel option
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
5d65365751
build in parallel + stop building linux + clang
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
ee64a6ec7e
disable ping tests for now as they are not super reliable
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
9bc09105d7
Feature/windows ci ( #76 )
...
* close with params
* ...
* different generator
* core size = 1
* disable more tests to get something working on windows
* try to enable another test on windows
* enable all OS
* set proper version of linux
* another try
* try again with just env variables
* Revert "core size = 1"
This reverts commit 29af74bba6 .
* add windows and mac
* Revert "close with params"
This reverts commit 6bb00b6788 .
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
6d900b8ffb
bring back socket mutex which is needed, some CI failures are happening without it
2019-05-16 15:58:20 -07:00
Benjamin Sergeant
5a2c070898
disable socket mutex usage in WebSocketTransport
2019-05-16 15:46:32 -07:00
Benjamin Sergeant
58f17ddb09
remove dead code
2019-05-16 15:05:20 -07:00
Benjamin Sergeant
47c9786bab
refactor connect unittest so that it hits a local server instead of a remote server
2019-05-16 14:25:31 -07:00
Benjamin Sergeant
e5edbeacb4
travis makefile fix
2019-05-16 14:02:24 -07:00
Benjamin Sergeant
964fb20df9
try to run ws test on linux + macOS on travis
2019-05-16 13:57:33 -07:00
Benjamin Sergeant
309ed80446
Add constants for closing code and messages
2019-05-16 12:46:53 -07:00
Benjamin Sergeant
01f2eb6615
first socket test hit a local server instead of a remote server / this can help with a windows intermittent failure
2019-05-16 12:24:58 -07:00
Benjamin Sergeant
3a55c7aaba
build ws on travis (mac + linux)
2019-05-16 07:01:15 -07:00
Benjamin Sergeant
243f41bf28
use a regular mutex instead of a recursive one + stop properly
2019-05-15 19:26:02 -07:00
Benjamin Sergeant
934b28f5b6
adding logging to IXWebSocketTestConnectionDisconnection makes it fails reliably
2019-05-15 19:26:02 -07:00
Benjamin Sergeant and GitHub
edfc03bed2
Update README.md
2019-05-15 19:22:05 -07:00
Benjamin Sergeant and GitHub
59ce71b64d
Update README.md
2019-05-15 18:57:17 -07:00
Benjamin Sergeant
d473a7dc22
-j option actually work ...
2019-05-15 18:15:45 -07:00
Benjamin Sergeant
efb063d600
unittest / add options to set the number of jobs
2019-05-15 17:52:03 -07:00
Benjamin Sergeant
12fe55905c
enum class HttpErrorCode derives from int
2019-05-15 16:50:00 -07:00
Benjamin Sergeant
aed831c075
try to re-enable some tests
2019-05-15 16:28:29 -07:00
Benjamin Sergeant
5ad15fad8b
recursive mutex + enable test that was breaking on Ubuntu Xenial + gcc + tsan
2019-05-15 16:01:05 -07:00
Benjamin Sergeant
a7d328896c
comment failing test
2019-05-15 15:44:14 -07:00
Benjamin Sergeant
1274a151d0
comment failing test
2019-05-15 15:37:30 -07:00
Benjamin Sergeant
d93d639345
do not build ws for now on travis
2019-05-15 15:26:49 -07:00
Benjamin Sergeant
e0d9a16985
more protection against socket when closing
2019-05-15 15:18:46 -07:00
Benjamin Sergeant
7f1070dde6
fix compile errors with C++ enum class
2019-05-15 15:18:46 -07:00
Benjamin Sergeant
7f1e70329c
close and stop with code and reason + docker = ubuntu xenial
2019-05-15 15:18:46 -07:00
Benjamin Sergeant
c935be6a49
Revert "Revert "fix cast warning caught on windows""
...
This reverts commit 25eaf730bc .
2019-05-13 22:16:49 -07:00
Benjamin Sergeant
4ee502fa1a
Revert "fix cast warning caught on windows"
...
This reverts commit 4edb7447df .
2019-05-13 21:35:34 -07:00
Benjamin Sergeant
084805b248
fix cast warning caught on windows
2019-05-13 21:29:47 -07:00
Benjamin Sergeant
2843a20814
build with gcc on Linux
2019-05-13 17:35:21 -07:00
Benjamin Sergeant
08a56726a8
use spdlog for logging in the unittest
2019-05-13 17:32:57 -07:00
Benjamin Sergeant
7cad8654e5
fix inverted conditional
2019-05-13 17:18:07 -07:00
Benjamin Sergeant
841cfe37dd
server code / add dedicated thread to close/join terminated connection threads
2019-05-13 17:17:35 -07:00
Benjamin Sergeant
849a41293f
travis cmake version on macOS does not know --parallel option
2019-05-13 17:17:35 -07:00
Benjamin Sergeant
5b17edb3f9
build in parallel + stop building linux + clang
2019-05-13 17:06:56 -07:00
Benjamin Sergeant
9f2047dad6
disable ping tests for now as they are not super reliable
2019-05-13 17:01:22 -07:00
Benjamin Sergeant and GitHub
c01c53c5c7
Feature/windows ci ( #76 )
...
* close with params
* ...
* different generator
* core size = 1
* disable more tests to get something working on windows
* try to enable another test on windows
* enable all OS
* set proper version of linux
* another try
* try again with just env variables
* Revert "core size = 1"
This reverts commit 29af74bba6 .
* add windows and mac
* Revert "close with params"
This reverts commit 6bb00b6788 .
2019-05-13 16:51:58 -07:00
Benjamin Sergeant
7740028291
all derived class use final keyword
2019-05-12 11:43:21 -07:00
Benjamin Sergeant
d575c7c2a9
bump version to 2.0.0
2019-05-11 14:22:41 -07:00
Benjamin Sergeant
80226cb7d3
add comment about why a unittest is disabled
2019-05-11 12:25:40 -07:00
Benjamin Sergeant
6189e0cd50
remove irrelevant comment
2019-05-11 12:24:11 -07:00
Benjamin Sergeant
4934f5846b
minor tweaks to have full feature parity before unittest broke
2019-05-11 11:54:21 -07:00
Benjamin Sergeant
c8c1aabf20
fix race condition in SelectInteruptPipe, where _fildes are not protected (caught by fedora tsan)
2019-05-11 11:45:26 -07:00