Benjamin Sergeant
6762978ddf
http server unittest + refactoring
2019-09-26 09:45:59 -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
94c589f696
Fix 2 race conditions detected with TSan, one in CobraMetricsPublisher::push and another one in WebSocketTransport::sendData (that one was bad).
2019-09-24 11:46:54 -07:00
Benjamin Sergeant
490fbf4cb5
try to enable more tests on windows
2019-09-23 21:52:32 -07:00
Benjamin Sergeant
d46ce7eb63
fix tsan errors on macOS when running the unittest
2019-09-23 21:51:55 -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
398c4fbf99
fix unittest
2019-09-22 19:40:33 -07:00
Benjamin Sergeant
e7b4a985b4
fix unittest compiler warnings
2019-09-22 19:22:48 -07:00
Benjamin Sergeant
20ce498d23
On error while doing a client handshake, additionally display port number next to the host name
2019-09-17 12:08:52 -07:00
Benjamin Sergeant
354c9b412e
rename test file
2019-09-17 12:07:31 -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
64d3c99f99
improve some websocket error messages + add a utility function with unittest to parse status line and stop using scanf which triggers warnings on Windows
2019-09-09 21:23:57 -07:00
Benjamin Sergeant
6c0890594b
improve some websocket error messages + add a utility function with unittest to parse status line and stop using scanf which triggers warnings on Windows
2019-09-09 17:34:36 -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
c259c918ac
cobra metrics publisher test uses random free port
2019-09-05 22:05:00 -07:00
Benjamin Sergeant
2f7438f0d5
cobra chat test uses random free port
2019-09-05 22:02:10 -07:00
Benjamin Sergeant
37a7b362d8
add cobra metrics publisher + server unittest
2019-09-05 21:57:05 -07:00
Benjamin Sergeant
c0f098a578
Add new cobra unittest, using server and client
2019-09-05 20:49:58 -07:00
Benjamin Sergeant
51799353a6
Sending invalid UTF-8 TEXT message should fail and close the connection (fix remaining autobahn test: 6.X UTF-8 Handling)
2019-09-03 14:12:40 -07:00
Benjamin Sergeant
e98ec9ec75
clang format
2019-08-13 10:59:18 -07:00
Benjamin Sergeant
dfc188a24d
do not use mbed tls for the unittest
2019-07-03 14:39:46 -07:00
Benjamin Sergeant
e8a20c7e8a
refactor select code + add protection against large fds (cf Android 9)
2019-06-25 15:41:39 -07:00
Benjamin Sergeant
0423ed01a6
Add extra check in IXWebSocketCloseTest.cpp
2019-06-25 14:10:39 -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
b26e9d0338
IXDNSLookup. Uses weak pointer + smart_ptr + shared_from_this instead of static sets + mutex to handle object going away before dns lookup has resolved
2019-06-19 00:43:59 -07:00
Benjamin Sergeant
9d70fb2b86
disable building ws on windows on travis
2019-06-10 22:01:19 -07:00
Benjamin Sergeant
03b5a57474
compile error in IXWebSocketMessageQTest
2019-06-09 12:25:36 -07:00
Benjamin Sergeant
f58cf4826a
fix IXWebSocketMessageQTest.cpp
2019-06-09 12:08:00 -07:00
Benjamin Sergeant
3e15840b14
- WebSocket::send() sends message in TEXT mode by default
...
- WebSocketMessage sets a new binary field, which tells whether the received incoming message is binary or text
2019-06-09 11:56:47 -07:00
Benjamin Sergeant
be93f7480a
WebSocket callback only take one object, a const ix::WebSocketMessagePtr& msg
2019-06-09 11:33:17 -07:00
Benjamin Sergeant
2e5f24f1f8
...
2019-06-09 10:22:27 -07:00
Benjamin Sergeant
051c34bc5d
Add test/compatibility folder with small servers and clients written in different languages and different libraries to test compatibility.
2019-06-08 09:46:26 -07:00
Benjamin Sergeant
076e8bf6a3
add an option to easily disable per message deflate compression
2019-06-06 13:48:53 -07:00
Benjamin Sergeant
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
539abe5151
HttpResponse is a struct, not a tuple 🉐
2019-06-03 22:12:52 -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
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
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
718154cfb4
enable IXWebSocketMessageQTest.cpp on mac and windows
2019-05-22 11:03:13 -07:00
Kumamon38
3365facf9f
Fix ping ( #80 )
...
* let poll do his job when closing
* try fix test
* try fix test
* Update IXWebSocketTransport.cpp
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* change state immediately, and send close frame after
* add immediate close test
* disable test for windows
* reenable ping / ping timeout tests
* add time to let windows close client
* reenable ping timeout test
* add 100ms more
* disable test for windows
2019-05-21 09:35:41 -07:00
Kumamon38
8a4826164b
fix close bug and tests : let poll do his job when closing ( #79 )
...
* let poll do his job when closing
* try fix test
* try fix test
* Update IXWebSocketTransport.cpp
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* change state immediately, and send close frame after
* add immediate close test
* disable test for windows
2019-05-21 09:34:08 -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
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
8c1d66bcf3
refactor connect unittest so that it hits a local server instead of a remote server
2019-05-16 19:23:32 -07:00