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;
|
return 1;
|
||||||
if (lws_write(wsi, buffer + LWS_PRE, p - (buffer + LWS_PRE), LWS_WRITE_HTTP_HEADERS) < 0)
|
if (lws_write(wsi, buffer + LWS_PRE, p - (buffer + LWS_PRE), LWS_WRITE_HTTP_HEADERS) < 0)
|
||||||
return 1;
|
return 1;
|
||||||
#if LWS_LIBRARY_VERSION_MAJOR < 3
|
|
||||||
if (n > 0 && lws_write_http(wsi, buf, n) < 0)
|
|
||||||
return 1;
|
|
||||||
#else
|
|
||||||
if (n > 0) {
|
if (n > 0) {
|
||||||
pss->buffer = pss->ptr = strdup(buf);
|
pss->buffer = pss->ptr = strdup(buf);
|
||||||
pss->len = n;
|
pss->len = n;
|
||||||
lws_callback_on_writable(wsi);
|
lws_callback_on_writable(wsi);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
goto try_to_reuse;
|
goto try_to_reuse;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -131,16 +127,9 @@ callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user, voi
|
|||||||
return 1;
|
return 1;
|
||||||
if (lws_write(wsi, buffer + LWS_PRE, p - (buffer + LWS_PRE), LWS_WRITE_HTTP_HEADERS) < 0)
|
if (lws_write(wsi, buffer + LWS_PRE, p - (buffer + LWS_PRE), LWS_WRITE_HTTP_HEADERS) < 0)
|
||||||
return 1;
|
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->buffer = pss->ptr = (char *) index_html;
|
||||||
pss->len = index_html_len;
|
pss->len = index_html_len;
|
||||||
lws_callback_on_writable(wsi);
|
lws_callback_on_writable(wsi);
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -312,22 +312,24 @@ callback_tty(struct lws *wsi, enum lws_callback_reasons reason,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (send_initial_message(wsi, client->initial_cmd_index) < 0) {
|
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);
|
lws_close_reason(wsi, LWS_CLOSE_STATUS_UNEXPECTED_CONDITION, NULL, 0);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
client->initial_cmd_index++;
|
client->initial_cmd_index++;
|
||||||
lws_callback_on_writable(wsi);
|
lws_callback_on_writable(wsi);
|
||||||
return 0;
|
break;
|
||||||
}
|
}
|
||||||
if (client->state != STATE_READY)
|
if (client->state != STATE_READY)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// read error or client exited, close connection
|
// read error or client exited, close connection
|
||||||
if (client->pty_len <= 0) {
|
if (client->pty_len == 0) {
|
||||||
lws_close_reason(wsi,
|
lws_close_reason(wsi, LWS_CLOSE_STATUS_NORMAL, NULL, 0);
|
||||||
client->pty_len == 0 ? LWS_CLOSE_STATUS_NORMAL
|
return 1;
|
||||||
: LWS_CLOSE_STATUS_UNEXPECTED_CONDITION,
|
} else if (client->pty_len < 0) {
|
||||||
NULL, 0);
|
lwsl_err("read error: %d (%s)\n", errno, strerror(errno));
|
||||||
|
lws_close_reason(wsi, LWS_CLOSE_STATUS_UNEXPECTED_CONDITION, NULL, 0);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user