Commit Graph

111 Commits

Author SHA1 Message Date
Thorsten Freitag
dd14850bb6 Used case insensitive recognition for upgrade header. Should work as before, but also with servers that wrongly use lower case upgrade in the header 2016-05-10 11:56:01 +10:00
Thorsten Freitag
d36f7bb100 Changed Header value to lower case upgrade, seems to fix connection issues with SAP HCP IoT services. Changed setAuthorization(const char * auth) to send Auth header as is, without BASIC to enable oAuth tokens in header 2016-05-09 00:11:42 +10:00
Wayne May
10a8d3ca67 Adding Origin, as required by spec. https://tools.ietf.org/html/rfc6455#section-1.6 2016-04-30 20:55:59 -07:00
Wayne May
4f55c36c80 RFC requires a port for Host when it is non default. https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23 2016-04-30 15:46:19 -07:00
Uri Shaked
00be8c7833 Make the Sec-WebSocket-Protocol header optional
Some server implementations (e.g. slack bots api) don't accept the connection if `Sec-WebSocket-Protocol` is specified.
2016-03-16 11:55:21 +02:00
Markus Sattler
8988faf5f0 fix #60
os_printf can not handle String direct
2016-03-05 12:13:13 +01:00
Markus Sattler
450ca76a74 add return value to all send functions 2016-02-20 12:27:19 +01:00
Markus Sattler
c57a4c19ab add HTTP Basic Authorization to WS Client and Server
see: #55
2016-02-17 17:56:03 +01:00
Markus Sattler
2d87bfa3d6 less ram usage when using strings 2016-02-06 19:21:24 +01:00
Markus Sattler
16824906c8 increase timeout to 2000ms
sync TCP is default
2016-01-30 12:01:09 +01:00
Me No Dev
512e3f6c09 add ESP31B support and fix header size 2016-01-30 02:24:29 +02:00
Markus Sattler
63f8675816 update README.md 2016-01-29 13:52:27 +01:00
Markus Sattler
0a8a8979ef Merge remote-tracking branch 'remotes/origin/master' into async
Conflicts:
	src/WebSockets.h
2016-01-29 13:22:15 +01:00
Markus Sattler
76853c7a73 async client working 2016-01-29 13:16:02 +01:00
Bruno Tibério
358d8c769e added subprotocol for ssl client also 2016-01-24 17:08:22 +00:00
Markus Sattler
1275914c86 first parts of client working 2016-01-24 00:52:23 +01:00
Markus Sattler
790a922d5a add deprecated warning for loop in async mode
fix sync mode
2016-01-23 18:41:45 +01:00
Markus Sattler
5c2c257526 fix server disconnect problems 2016-01-23 18:34:30 +01:00
Markus Sattler
57e30e0634 First steps to do async 2016-01-23 16:27:02 +01:00
Bruno Tibério
3e0b0bd377 updated with upstream, added subprotocol to client 2016-01-20 23:56:09 +00:00
Markus Sattler
ece771a275 add support for setting:
- Access-Control-Allow-Origin (#25)
 - Sec-WebSocket-Protocol ()

add _server->close(); for ESP
2016-01-14 17:28:00 +01:00
Markus Sattler
cf7652a371 allow usage of std::bind for Event callback 2016-01-11 10:37:27 +01:00
Markus Sattler
21e959c013 fix #38 2016-01-07 01:21:09 +01:00
Markus Sattler
21e092d179 code cleanup
improve readWait error handling
2015-12-28 16:33:54 +01:00
Markus Sattler
ff33056309 try to send data in one TCP packed if possible,
add random mask support for short frames.
may helps with #34
2015-12-28 03:19:45 +01:00
Markus Sattler
848979ecf0 use String to store fingerprint
(const char * can be invalidate based on which scope it coming from)
move _fingerprint to Client class only (server not need it)
2015-12-24 12:58:05 +01:00
Chris Hinze
07bd519940 disconnect on certificate mismatch 2015-12-24 04:52:05 +01:00
Chris Hinze
73680279f5 verify ssl certificate fingerprint 2015-12-24 04:47:11 +01:00
Markus Sattler
83ac64b72b add support for AVR
this need some more testing but basics are done
2015-12-10 11:16:08 +01:00
Markus Sattler
098c488ff0 add beginSSL 2015-12-10 10:10:06 +01:00
Markus Sattler
093797a815 first step for SSL (wss) support 2015-12-10 09:36:18 +01:00
Markus Sattler
7a22dad9d1 try to improve
see: #23
2015-12-05 11:43:03 +01:00
Markus Sattler
92a63e9129 fix problems with ESP8266 core version 2.0.0 2015-11-30 19:46:37 +01:00
Markus Sattler
d5b0364f5c allow override of CB handling
see #14
2015-10-31 11:37:07 +01:00
Markus Sattler
187a4ac823 bump version
optimize String usage (less malloc / realloc)
remove double debug line
2015-10-21 17:17:09 +02:00
jc19000
b60599dcd7 Update websocket client handshake
Sending handshake with only one tcp.write.

Note: it solve connection problem with the QT websocket server.
2015-10-20 22:05:08 +02:00
Markus Sattler
39f912b982 add possibility to add Header To Payload to save one TCP package
see #12
2015-10-11 10:11:32 +02:00
Markus Sattler
ad1e609850 change private to protected (see #10) 2015-08-26 19:15:37 +02:00
Markus Sattler
03185498e8 allow overriding the handling of Non Websocket Connection by extending the class.
see #10
2015-08-08 19:54:36 +02:00
Markus Sattler
516b1047f8 not send data if still in HTTP header handling 2015-07-26 13:07:45 +02:00
Markus Sattler
afe1a2b9d3 Handle header name case Insensitive
see RFC2616 and #8
2015-07-26 11:08:02 +02:00
Markus Sattler
cf3ca5fde2 fix #6
Firefox send more then Upgrade in Connection header
2015-07-15 10:09:07 +02:00
Markus Sattler
28b7619419 allow any "case" for Upgrade
RFC6455:
An |Upgrade| header field containing the value "websocket", treated as an ASCII case-insensitive value.
2015-06-17 10:39:27 +02:00
Markus Sattler
f118a13d0f allow "Upgrade: WebSocket" for client 2015-06-17 10:33:42 +02:00
Markus Sattler
b71ec80621 Merge remote-tracking branch 'remotes/origin/master' 2015-06-17 10:27:21 +02:00
Markus Sattler
1a533cd15c first steps to allow sending continuation frame 2015-06-17 10:27:01 +02:00
Kevron Rees
988ea5cffe Add case for 'Upgrade: WebSocket' 2015-06-12 23:59:42 -07:00
Markus Sattler
d5c3e17a25 ifdef some ESP8266 specific stuff
rework readWait
2015-05-24 18:00:35 +02:00
Markus Sattler
e1e6280e82 first working WebSocketClient
add LGPLv2.1
2015-05-24 15:40:47 +02:00
Markus Sattler
b5dbeccdf5 first steps to Client 2015-05-23 23:51:32 +02:00