WsCommandHandlerResource.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  * WsCommandHandlerResource.h
8  *
9  * @author: 2017 - Slavey Karadzhov <slav@attachix.com>
10  *
11  ****/
12 
13 #pragma once
14 
15 #include "../HttpResource.h"
16 #include "WebsocketConnection.h"
17 #include "WString.h"
19 
21 {
22 public:
24  {
26  }
27 
28 protected:
29  int checkHeaders(HttpServerConnection& connection, HttpRequest& request, HttpResponse& response) override
30  {
31  int err = WebsocketResource::checkHeaders(connection, request, response);
32  if(err != 0) {
33  return err;
34  }
35 
36  WebsocketConnection* socket = (WebsocketConnection*)connection.userData;
37  if(socket != nullptr) {
38  socket->setMessageHandler();
39 
40  // create new command handler
41  }
42  }
43 
44  void onMessage(WebsocketConnection& connection, const String& message)
45  {
46  commandExecutor.executorReceive(message + "\r");
47  }
48 
49 private:
50  CommandExecutor commandExecutor;
51 };
int checkHeaders(HttpServerConnection &connection, HttpRequest &request, HttpResponse &response) override
Definition: WsCommandHandlerResource.h:29
Definition: WebsocketConnection.h:60
int executorReceive(char *recvData, int recvSize)
virtual int checkHeaders(HttpServerConnection &connection, HttpRequest &request, HttpResponse &response)
WsCommandHandlerResource()
Definition: WsCommandHandlerResource.h:23
Definition: HttpServerConnection.h:33
The String class.
Definition: WString.h:136
Definition: CommandExecutor.h:17
WebsocketMessageDelegate wsMessage
Definition: WebsocketResource.h:57
Definition: WsCommandHandlerResource.h:20
Delegate< void(WebsocketConnection &, const String &)> WebsocketMessageDelegate
Definition: WebsocketConnection.h:42
void * userData
use to pass user data between requests
Definition: HttpServerConnection.h:113
Definition: HttpRequest.h:35
void onMessage(WebsocketConnection &connection, const String &message)
Definition: WsCommandHandlerResource.h:44
Definition: WebsocketResource.h:20
Definition: HttpResponse.h:20
void setMessageHandler(WebsocketMessageDelegate handler)
Sets the callback handler to be called after a websocket message is received.
Definition: WebsocketConnection.h:200