202 fclose(f); |
202 fclose(f); |
203 free(buff); |
203 free(buff); |
204 |
204 |
205 if (sentsize == filesize) { |
205 if (sentsize == filesize) { |
206 ESP_LOGI(TAG, "%s sendfile %s%s sent %u bytes, ok (%s)", ipstr, temp_url, (send_gz) ? ".gz":"", sentsize, url); |
206 ESP_LOGI(TAG, "%s sendfile %s%s sent %u bytes, ok (%s)", ipstr, temp_url, (send_gz) ? ".gz":"", sentsize, url); |
207 } |
|
208 } |
|
209 |
|
210 |
|
211 |
|
212 /** |
|
213 * @brief Handle VNC websocket events. |
|
214 */ |
|
215 void websockify_callback(uint8_t num, WEBSOCKET_TYPE_t type, char* msg, uint64_t len) |
|
216 { |
|
217 switch(type) { |
|
218 case WEBSOCKET_DISCONNECT_EXTERNAL: |
|
219 VncStopWS(num); |
|
220 break; |
|
221 |
|
222 case WEBSOCKET_DISCONNECT_INTERNAL: |
|
223 ESP_LOGI(TAG,"Websockify client %i was disconnected",num); |
|
224 VncStopWS(num); |
|
225 break; |
|
226 |
|
227 case WEBSOCKET_DISCONNECT_ERROR: |
|
228 ESP_LOGI(TAG,"Websockify client %i was disconnected due to an error",num); |
|
229 VncStopWS(num); |
|
230 break; |
|
231 |
|
232 case WEBSOCKET_BIN: |
|
233 VncGetWSmessage(msg, len); |
|
234 //dump_buf(msg, len); |
|
235 break; |
|
236 |
|
237 default: break; |
|
238 } |
207 } |
239 } |
208 } |
240 |
209 |
241 |
210 |
242 |
211 |
417 netconn_delete(conn); |
386 netconn_delete(conn); |
418 netbuf_delete(inbuf); |
387 netbuf_delete(inbuf); |
419 return; |
388 return; |
420 } |
389 } |
421 |
390 |
422 // websocket for noVNC. |
|
423 if ((strstr(buf,"GET /websockify ") && strstr(buf,"Upgrade: websocket"))) { |
|
424 int nr = ws_server_add_client_protocol(conn, buf, buflen, "/websockify", "binary", websockify_callback); |
|
425 ESP_LOGI(TAG, "%s new websocket on /websockify client: %d", ipstr, nr); |
|
426 netbuf_delete(inbuf); |
|
427 VncStartWS(nr); |
|
428 return; |
|
429 } |
|
430 |
|
431 // websocket for web UI. |
391 // websocket for web UI. |
432 if ((strstr(buf,"GET /ws ") && strstr(buf,"Upgrade: websocket"))) { |
392 if ((strstr(buf,"GET /ws ") && strstr(buf,"Upgrade: websocket"))) { |
433 int nr = ws_server_add_client_protocol(conn, buf, buflen, "/ws", "binary", websock_callback); |
393 int nr = ws_server_add_client_protocol(conn, buf, buflen, "/ws", "binary", websock_callback); |
434 ESP_LOGI(TAG, "%s new websocket on /ws client: %d", ipstr, nr); |
394 ESP_LOGI(TAG, "%s new websocket on /ws client: %d", ipstr, nr); |
435 netbuf_delete(inbuf); |
395 netbuf_delete(inbuf); |