Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						57665ca825 
					 
					
						
						
							
							Validate close codes. Autobahn 7.9.*  
						
						
						
						
					 
					
						2019-09-03 15:43:16 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						deaa753657 
					 
					
						
						
							
							Validate that the close reason is proper utf-8. Autobahn 7.5.1  
						
						
						
						
					 
					
						2019-09-03 14:35:40 -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 
							
						 
					 
					
						
						
							
						
						afa71a6b4b 
					 
					
						
						
							
							Framentation: data and continuation blocks received out of order (fix autobahn test: 5.9 through 5.20 Fragmentation)  
						
						
						
						
					 
					
						2019-09-03 12:02:56 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						172cd39702 
					 
					
						
						
							
							Sending invalid UTF-8 TEXT message should fail and close the connection (fix **tons** of autobahn test: 6.X UTF-8 Handling)  
						
						
						
						
					 
					
						2019-09-03 10:30:22 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						82213fd3a5 
					 
					
						
						
							
							Message type (TEXT or BINARY) is invalid for received fragmented messages (fix autobahn test: 5.3 through 5.8 Fragmentation)  
						
						
						
						
					 
					
						2019-09-03 09:13:38 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						61eb662e5f 
					 
					
						
						
							
							Ping and Pong messages cannot be fragmented (autobahn test: 5.1 and 5.2 Fragmentation)  
						
						
						
						
					 
					
						2019-09-02 10:13:40 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						2887370666 
					 
					
						
						
							
							Close connections when reserved bits are used (autobahn test: 3 Reserved Bits)  
						
						
						
						
					 
					
						2019-09-01 16:23:00 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						10dbe2d44d 
					 
					
						
						
							
							+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 
							
						 
					 
					
						
						
							
						
						6b2cdb6b54 
					 
					
						
						
							
							user agent  
						
						
						
						
					 
					
						2019-08-30 12:50:56 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						06bc795133 
					 
					
						
						
							
							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 
							
						 
					 
					
						
						
							
						
						45d7bb34d7 
					 
					
						
						
							
							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 
							
						 
					 
					
						
						
							
						
						8eb0d0b7c3 
					 
					
						
						
							
							put windows poll in the global namespace, not ix namespace  
						
						
						
						
					 
					
						2019-08-26 09:51:37 -07:00 
						 
				 
			
				
					
						
							
							
								ozychhi 
							
						 
					 
					
						
						
							
						
						f18f04c0ee 
					 
					
						
						
							
							Add client handshake extra headers ( #105 )  
						
						... 
						
						
						
						Even though 6455 defines all the necessary headers needed for
client/server handshake, in practice most of the cases websocket servers
expect few more headers. Therefore adding this functionality. 
						
						
					 
					
						2019-08-26 09:37:40 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						193da820b2 
					 
					
						
						
							
							Windows: use select instead of WSAPoll, through a poll wrapper  
						
						
						
						
					 
					
						2019-08-22 10:34:17 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						c72b2dbd6b 
					 
					
						
						
							
							add poll alias to WSAPoll on Windows  
						
						
						
						
					 
					
						2019-08-19 22:26:25 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						835523f77b 
					 
					
						
						
							
							fix   #101  / wrong include in IXSocket.cpp on Windows  
						
						
						
						
					 
					
						2019-08-19 22:19:39 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						dd0d7c268f 
					 
					
						
						
							
							CobraMetricThreadedPublisher _enable flag is an atomic, and CobraMetricsPublisher is enabled by default  
						
						
						
						
					 
					
						2019-08-14 19:54:30 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						b2bfccac0a 
					 
					
						
						
							
							clang format  
						
						
						
						
					 
					
						2019-08-13 10:59:18 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						8b8b352e61 
					 
					
						
						
							
							fix   #99  / Connect error descriptions are invalid  
						
						
						
						
					 
					
						2019-08-13 10:49:11 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						4dd5950406 
					 
					
						
						
							
							fix typo in README  
						
						
						
						
					 
					
						2019-07-23 13:52:16 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						4fb268585c 
					 
					
						
						
							
							dns / use cancellable instead of blocking  
						
						
						
						
					 
					
						2019-06-30 23:26:14 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						3a2495c456 
					 
					
						
						
							
							make IXDNSLookup more robust  
						
						
						
						
					 
					
						2019-06-26 19:12:48 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						1d4d058ed0 
					 
					
						
						
							
							simplify IXDNSLookup  
						
						
						
						
					 
					
						2019-06-26 16:25:07 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						15a1347531 
					 
					
						
						
							
							use poll instead of select in SocketServer  
						
						
						
						
					 
					
						2019-06-25 17:18:24 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						4cbfa71338 
					 
					
						
						
							
							switch from select to poll to deal with Android 9 giving us high socket fds when calling ::connect  
						
						
						
						
					 
					
						2019-06-25 17:11:27 -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 
							
						 
					 
					
						
						
							
						
						eea42bff66 
					 
					
						
						
							
							select refactoring IXSocket::select -> IXSocket::poll  
						
						
						
						
					 
					
						2019-06-25 10:16:40 -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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						a11aa3e0dd 
					 
					
						
						
							
							WebSocket::send takes a third arg, binary which default to true (can be text too)  
						
						
						
						
					 
					
						2019-06-09 11:35:31 -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 
							
						 
					 
					
						
						
							
						
						d4115880b9 
					 
					
						
						
							
							Add explicite WebSocket::sendBinary  
						
						... 
						
						
						
						New headers + WebSocketMessage class to hold message data, still not used across the board 
						
						
					 
					
						2019-06-09 10:10:33 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						d2747487e3 
					 
					
						
						
							
							IXSocketMbedTLS: better error handling in close and connect  
						
						
						
						
					 
					
						2019-06-06 14:59:22 -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 
							
						 
					 
					
						
						
							
						
						15d8c663da 
					 
					
						
						
							
							cobra to sentry fixes  
						
						
						
						
					 
					
						2019-06-05 18:47:48 -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 
							
						 
					 
					
						
						
							
						
						a35cbdfb7c 
					 
					
						
						
							
							http / PUT fix  🐚  
						
						
						
						
					 
					
						2019-06-03 21:12:39 -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 
							
						 
					 
					
						
						
							
						
						fcacddbd9f 
					 
					
						
						
							
							(http client) / Add DEL and PUT method, make requests and other utilities public  👐  
						
						
						
						
					 
					
						2019-06-03 11:38:56 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						fa84ade6be 
					 
					
						
						
							
							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 
							
						 
					 
					
						
						
							
						
						17eaa323ed 
					 
					
						
						
							
							play with podmena  ♓  
						
						
						
						
					 
					
						2019-06-02 11:03:44 -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 
							
						 
					 
					
						
						
							
						
						977e8794ec 
					 
					
						
						
							
							(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 
							
						 
					 
					
						
						
							
						
						c6dfb14953 
					 
					
						
						
							
							clang format, based on cpprest  
						
						
						
						
					 
					
						2019-05-30 08:46:50 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						5bad02ccae 
					 
					
						
						
							
							std::chrono::duration is not initialized to 0 units of time  
						
						
						
						
					 
					
						2019-05-26 14:16:15 -07:00