Commit Graph
100 Commits
Author SHA1 Message Date
Benjamin Sergeant 89909c15bc cobra to sentry fixes 2019-06-05 18:47:48 -07:00
Benjamin SergeantandGitHub 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 SergeantandGitHub 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 SergeantandGitHub 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 SergeantandGitHub edfc03bed2 Update README.md 2019-05-15 19:22:05 -07:00
Benjamin SergeantandGitHub 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 SergeantandGitHub 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