WebsocketResource.h
Go to the documentation of this file.
1 /****
2  * Sming Framework Project - Open Source framework for high efficiency native ESP8266 development.
3  * Created 2015 by Skurydin Alexey
4  * http://github.com/SmingHub/Sming
5  * All files of the Sming Core are provided under the LGPL v3 license.
6  *
7  * WebsocketResource.h
8  *
9  * @author: 2017 - Slavey Karadzhov <slav@attachix.com>
10  *
11  ****/
12 
13 #pragma once
14 
15 #include "../HttpServerConnection.h"
16 #include "../HttpResource.h"
17 #include "WebsocketConnection.h"
18 #include "WString.h"
19 
25 {
26 public:
28  {
30  }
31 
32  virtual int checkHeaders(HttpServerConnection& connection, HttpRequest& request, HttpResponse& response);
33 
34  void shutdown(HttpServerConnection& connection) override;
35 
37  {
38  wsConnect = handler;
39  }
40 
42  {
43  wsMessage = handler;
44  }
45 
47  {
48  wsBinary = handler;
49  }
50 
52  {
53  wsPong = handler;
54  }
55 
57  {
58  wsDisconnect = handler;
59  }
60 
61 protected:
62  bool onConnect();
63 
64 protected:
70 };
Delegate< int(HttpServerConnection &connection, HttpRequest &request, HttpResponse &response)> HttpResourceDelegate
Definition: HttpResource.h:27
Encapsulates an incoming or outgoing request.
Definition: HttpRequest.h:37
Instances of this class are registered with an HttpServer for a specific URL.
Definition: HttpResource.h:34
HttpResourceDelegate onHeadersComplete
headers are ready
Definition: HttpResource.h:68
Represents either an incoming or outgoing response to a HTTP request.
Definition: HttpResponse.h:26
Definition: HttpServerConnection.h:34
Class associated with an open websocket to handle communications.
Definition: WebsocketResource.h:25
WebsocketBinaryDelegate wsBinary
Definition: WebsocketResource.h:67
void setConnectionHandler(WebsocketDelegate handler)
Definition: WebsocketResource.h:36
WebsocketDelegate wsPong
Definition: WebsocketResource.h:68
WebsocketResource()
Definition: WebsocketResource.h:27
void shutdown(HttpServerConnection &connection) override
Takes care to cleanup the connection.
void setMessageHandler(WebsocketMessageDelegate handler)
Definition: WebsocketResource.h:41
void setPongHandler(WebsocketDelegate handler)
Definition: WebsocketResource.h:51
void setDisconnectionHandler(WebsocketDelegate handler)
Definition: WebsocketResource.h:56
WebsocketDelegate wsDisconnect
Definition: WebsocketResource.h:69
WebsocketMessageDelegate wsMessage
Definition: WebsocketResource.h:66
WebsocketDelegate wsConnect
Definition: WebsocketResource.h:65
void setBinaryHandler(WebsocketBinaryDelegate handler)
Definition: WebsocketResource.h:46
virtual int checkHeaders(HttpServerConnection &connection, HttpRequest &request, HttpResponse &response)