mirror of
https://github.com/tsl0922/ttyd.git
synced 2025-12-23 04:14:18 +01:00
http: remove hack for old libwebsocket versions
This commit is contained in:
13
src/http.c
13
src/http.c
@@ -97,16 +97,12 @@ callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user, voi
|
||||
return 1;
|
||||
if (lws_write(wsi, buffer + LWS_PRE, p - (buffer + LWS_PRE), LWS_WRITE_HTTP_HEADERS) < 0)
|
||||
return 1;
|
||||
#if LWS_LIBRARY_VERSION_MAJOR < 3
|
||||
if (n > 0 && lws_write_http(wsi, buf, n) < 0)
|
||||
return 1;
|
||||
#else
|
||||
if (n > 0) {
|
||||
pss->buffer = pss->ptr = strdup(buf);
|
||||
pss->len = n;
|
||||
lws_callback_on_writable(wsi);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
goto try_to_reuse;
|
||||
}
|
||||
|
||||
@@ -131,16 +127,9 @@ callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user, voi
|
||||
return 1;
|
||||
if (lws_write(wsi, buffer + LWS_PRE, p - (buffer + LWS_PRE), LWS_WRITE_HTTP_HEADERS) < 0)
|
||||
return 1;
|
||||
#if LWS_LIBRARY_VERSION_MAJOR < 3
|
||||
if (lws_write_http(wsi, index_html, index_html_len) < 0)
|
||||
return 1;
|
||||
goto try_to_reuse;
|
||||
#else
|
||||
pss->buffer = pss->ptr = (char *) index_html;
|
||||
pss->len = index_html_len;
|
||||
lws_callback_on_writable(wsi);
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
@@ -312,22 +312,24 @@ callback_tty(struct lws *wsi, enum lws_callback_reasons reason,
|
||||
break;
|
||||
}
|
||||
if (send_initial_message(wsi, client->initial_cmd_index) < 0) {
|
||||
lwsl_err("failed to send initial message, index: %d\n", client->initial_cmd_index);
|
||||
lws_close_reason(wsi, LWS_CLOSE_STATUS_UNEXPECTED_CONDITION, NULL, 0);
|
||||
return -1;
|
||||
}
|
||||
client->initial_cmd_index++;
|
||||
lws_callback_on_writable(wsi);
|
||||
return 0;
|
||||
break;
|
||||
}
|
||||
if (client->state != STATE_READY)
|
||||
break;
|
||||
|
||||
// read error or client exited, close connection
|
||||
if (client->pty_len <= 0) {
|
||||
lws_close_reason(wsi,
|
||||
client->pty_len == 0 ? LWS_CLOSE_STATUS_NORMAL
|
||||
: LWS_CLOSE_STATUS_UNEXPECTED_CONDITION,
|
||||
NULL, 0);
|
||||
if (client->pty_len == 0) {
|
||||
lws_close_reason(wsi, LWS_CLOSE_STATUS_NORMAL, NULL, 0);
|
||||
return 1;
|
||||
} else if (client->pty_len < 0) {
|
||||
lwsl_err("read error: %d (%s)\n", errno, strerror(errno));
|
||||
lws_close_reason(wsi, LWS_CLOSE_STATUS_UNEXPECTED_CONDITION, NULL, 0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user