| 155 | *****************************************************************************/ |
| 156 | |
| 157 | void WebSocketSrv::init(AsyncWebServer& srv) |
| 158 | { |
| 159 | if (false == m_isInitialized) |
| 160 | { |
| 161 | String webLoginUser; |
| 162 | String webLoginPassword; |
| 163 | SettingsService& settings = SettingsService::getInstance(); |
| 164 | |
| 165 | if (false == settings.open(true)) |
| 166 | { |
| 167 | webLoginUser = settings.getWebLoginUser().getDefault(); |
| 168 | webLoginPassword = settings.getWebLoginPassword().getDefault(); |
| 169 | } |
| 170 | else |
| 171 | { |
| 172 | webLoginUser = settings.getWebLoginUser().getValue(); |
| 173 | webLoginPassword = settings.getWebLoginPassword().getValue(); |
| 174 | |
| 175 | settings.close(); |
| 176 | } |
| 177 | |
| 178 | /* Setup the websocket message input queue. */ |
| 179 | (void)m_msgQueue.create(MAX_WEBSOCKET_MSGS); |
| 180 | |
| 181 | /* Register websocket event handler */ |
| 182 | m_webSocket.onEvent( |
| 183 | [this](AsyncWebSocket* server, AsyncWebSocketClient* client, AwsEventType type, void* arg, uint8_t* data, size_t len) { |
| 184 | this->onEvent(server, client, type, arg, data, len); |
| 185 | }); |
| 186 | |
| 187 | /* HTTP Authenticate before switch to Websocket protocol */ |
| 188 | m_webSocket.setAuthentication(webLoginUser.c_str(), webLoginPassword.c_str()); |
| 189 | |
| 190 | /* Register websocket on webserver */ |
| 191 | srv.addHandler(&m_webSocket); |
| 192 | |
| 193 | m_isInitialized = true; |
| 194 | } |
| 195 | } |
| 196 | |
| 197 | void WebSocketSrv::process() |
| 198 | { |