aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/deps/_libusockets.h1
-rw-r--r--src/deps/libuwsockets.cpp14
2 files changed, 13 insertions, 2 deletions
diff --git a/src/deps/_libusockets.h b/src/deps/_libusockets.h
index 08410de0b..affe4dac5 100644
--- a/src/deps/_libusockets.h
+++ b/src/deps/_libusockets.h
@@ -245,6 +245,7 @@ void uws_res_write_header(int ssl, uws_res_t *res, const char *key,
void uws_res_write_header_int(int ssl, uws_res_t *res, const char *key,
size_t key_length, uint64_t value);
void uws_res_end_without_body(int ssl, uws_res_t *res);
+void uws_res_end_stream(int ssl, uws_res_t *res, bool close_connection);
bool uws_res_write(int ssl, uws_res_t *res, const char *data, size_t length);
uintmax_t uws_res_get_write_offset(int ssl, uws_res_t *res);
bool uws_res_has_responded(int ssl, uws_res_t *res);
diff --git a/src/deps/libuwsockets.cpp b/src/deps/libuwsockets.cpp
index f854cafdb..6e4c81356 100644
--- a/src/deps/libuwsockets.cpp
+++ b/src/deps/libuwsockets.cpp
@@ -724,6 +724,16 @@ void uws_res_end(int ssl, uws_res_t *res, const char *data, size_t length,
}
}
+void uws_res_end_stream(int ssl, uws_res_t *res, bool close_connection) {
+ if (ssl) {
+ uWS::HttpResponse<true> *uwsRes = (uWS::HttpResponse<true> *)res;
+ uwsRes->endWithoutBody(std::nullopt, close_connection);
+ } else {
+ uWS::HttpResponse<false> *uwsRes = (uWS::HttpResponse<false> *)res;
+ uwsRes->endWithoutBody(std::nullopt, close_connection);
+ }
+}
+
void uws_res_pause(int ssl, uws_res_t *res) {
if (ssl) {
uWS::HttpResponse<true> *uwsRes = (uWS::HttpResponse<true> *)res;
@@ -810,10 +820,10 @@ void uws_res_end_without_body(int ssl, uws_res_t *res) {
bool uws_res_write(int ssl, uws_res_t *res, const char *data, size_t length) {
if (ssl) {
uWS::HttpResponse<true> *uwsRes = (uWS::HttpResponse<true> *)res;
- return uwsRes->write(std::string_view(data));
+ return uwsRes->write(std::string_view(data, length));
}
uWS::HttpResponse<false> *uwsRes = (uWS::HttpResponse<false> *)res;
- return uwsRes->write(std::string_view(data));
+ return uwsRes->write(std::string_view(data, length));
}
uintmax_t uws_res_get_write_offset(int ssl, uws_res_t *res) {
if (ssl) {