Benjamin Sergeant
39c0fb0072
try to enable more tests on windows
2019-09-23 21:52:32 -07:00
Benjamin Sergeant
733b414b3b
fix tsan errors on macOS when running the unittest
2019-09-23 21:51:55 -07:00
Benjamin Sergeant
fbf80f4ab1
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
8f8385f8f8
fix linux compilation error, by ordering dependant libraries properly
2019-09-23 12:32:04 -07:00
Benjamin Sergeant
122118196b
move snake code to its own subfolder like ixcobra, ixcrypto, etc...
2019-09-23 11:46:16 -07:00
Benjamin Sergeant
6f2fe49a7b
reformat everything with clang-format
2019-09-23 10:25:23 -07:00
Benjamin Sergeant
b667c0ad40
fix unittest
2019-09-22 19:40:33 -07:00
Benjamin Sergeant
283cf83d47
fix unittest compiler warnings
2019-09-22 19:22:48 -07:00
Benjamin Sergeant
f7a12f52f8
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
1be3b8f4b1
rename test file
2019-09-17 12:07:31 -07:00
Benjamin Sergeant
57086e28d8
fix unittest warnings + remove trailing spaces
2019-09-12 11:43:52 -07:00
Benjamin Sergeant
0fde169aa4
restructure project
2019-09-10 12:19:22 -07:00
Benjamin Sergeant
7bfa6e8478
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
983df2d8f9
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
ae3856c10f
Fix Windows CI with appveyor ( #110 )
...
Fix windows CI with appveyor + minor tweaks.
2019-09-07 14:07:00 -07:00
Benjamin Sergeant
2ce65e7a77
cobra metrics publisher test uses random free port
2019-09-05 22:05:00 -07:00
Benjamin Sergeant
e81c2c3e5c
cobra chat test uses random free port
2019-09-05 22:02:10 -07:00
Benjamin Sergeant
e40dda7549
add cobra metrics publisher + server unittest
2019-09-05 21:57:05 -07:00
Benjamin Sergeant
d959d73261
Add new cobra unittest, using server and client
2019-09-05 20:49:58 -07:00
Benjamin Sergeant
7c7c877621
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
b2bfccac0a
clang format
2019-08-13 10:59:18 -07:00
Benjamin Sergeant
64cd725060
do not use mbed tls for the unittest
2019-07-03 14:39:46 -07:00
Benjamin Sergeant
705625af0a
refactor select code + add protection against large fds (cf Android 9)
2019-06-25 15:41:39 -07:00
Benjamin Sergeant
01bc6654cb
Add extra check in IXWebSocketCloseTest.cpp
2019-06-25 14:10:39 -07:00
Benjamin Sergeant
691502d7ad
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
43deaba547
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
5f4a430845
disable building ws on windows on travis
2019-06-10 22:01:19 -07:00
Benjamin Sergeant
ce0b716f54
compile error in IXWebSocketMessageQTest
2019-06-09 12:25:36 -07:00
Benjamin Sergeant
aae8e5ec65
fix IXWebSocketMessageQTest.cpp
2019-06-09 12:08:00 -07:00
Benjamin Sergeant
55c65b08bf
- 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
de0bf5ebcd
WebSocket callback only take one object, a const ix::WebSocketMessagePtr& msg
2019-06-09 11:33:17 -07:00
Benjamin Sergeant
15369e1ae9
...
2019-06-09 10:22:27 -07:00
Benjamin Sergeant
3c80c75e4a
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
cbf21b4008
add an option to easily disable per message deflate compression
2019-06-06 13:48:53 -07:00
Benjamin Sergeant
d50125c62d
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
2b111e8352
HttpResponse is a struct, not a tuple 🉐
2019-06-03 22:12:52 -07:00
Benjamin Sergeant
6a41b7389f
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
a187e69650
Add simple HTTP and HTTPS client test ㊙️
2019-06-03 12:23:35 -07:00
Benjamin Sergeant
57976cf613
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
c68848eecc
fix cobra to sentry + change ws docker file to use alpine (much smaller footprint)
2019-05-31 00:43:22 -07:00
Benjamin Sergeant
0e23584751
enable IXWebSocketMessageQTest.cpp on mac and windows
2019-05-22 11:03:13 -07:00
Kumamon38
6264a8b41d
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
3990d3bcbf
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
aa3f201ced
one cpu on windows for executing tests
2019-05-17 15:45:31 -07:00
Benjamin Sergeant
83c261977d
add back IXWebSocketMessageQueue, with its unittest disabled
2019-05-16 22:41:39 -07:00
Benjamin Sergeant
c4a5647b62
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
b11678e636
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
5c4840f129
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
cdbed26d1f
use a regular mutex instead of a recursive one + stop properly
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
23f171f34d
adding logging to IXWebSocketTestConnectionDisconnection makes it fails reliably
2019-05-16 19:23:32 -07:00