aboutsummaryrefslogtreecommitdiff
path: root/src/deps/libuwsockets.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/deps/libuwsockets.cpp')
-rw-r--r--src/deps/libuwsockets.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/deps/libuwsockets.cpp b/src/deps/libuwsockets.cpp
index bacab2cbf..cbf399f20 100644
--- a/src/deps/libuwsockets.cpp
+++ b/src/deps/libuwsockets.cpp
@@ -1025,11 +1025,15 @@ extern "C"
if (ssl)
{
uWS::HttpResponse<true> *uwsRes = (uWS::HttpResponse<true> *)res;
+ uwsRes->getHttpResponseData()->onWritable = nullptr;
+ uwsRes->onAborted(nullptr);
uwsRes->end(std::string_view(data, length), close_connection);
}
else
{
uWS::HttpResponse<false> *uwsRes = (uWS::HttpResponse<false> *)res;
+ uwsRes->getHttpResponseData()->onWritable = nullptr;
+ uwsRes->onAborted(nullptr);
uwsRes->end(std::string_view(data, length), close_connection);
}
}
@@ -1039,11 +1043,15 @@ extern "C"
if (ssl)
{
uWS::HttpResponse<true> *uwsRes = (uWS::HttpResponse<true> *)res;
+ uwsRes->getHttpResponseData()->onWritable = nullptr;
+ uwsRes->onAborted(nullptr);
uwsRes->endWithoutBody(std::nullopt, close_connection);
}
else
{
uWS::HttpResponse<false> *uwsRes = (uWS::HttpResponse<false> *)res;
+ uwsRes->getHttpResponseData()->onWritable = nullptr;
+ uwsRes->onAborted(nullptr);
uwsRes->endWithoutBody(std::nullopt, close_connection);
}
}
@@ -1514,12 +1522,22 @@ extern "C"
{
uWS::HttpResponse<true> *uwsRes = (uWS::HttpResponse<true> *)res;
auto pair = uwsRes->tryEnd(std::string_view(bytes, len), total_len, close);
+ if (pair.first) {
+ uwsRes->getHttpResponseData()->onWritable = nullptr;
+ uwsRes->onAborted(nullptr);
+ }
+
return pair.first;
}
else
{
uWS::HttpResponse<false> *uwsRes = (uWS::HttpResponse<false> *)res;
auto pair = uwsRes->tryEnd(std::string_view(bytes, len), total_len, close);
+ if (pair.first) {
+ uwsRes->getHttpResponseData()->onWritable = nullptr;
+ uwsRes->onAborted(nullptr);
+ }
+
return pair.first;
}
}
@@ -1551,4 +1569,4 @@ extern "C"
return uwsRes->getNativeHandle();
}
}
-} \ No newline at end of file
+}