aboutsummaryrefslogtreecommitdiff
path: root/src/deps/libuwsockets.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-03-29 05:37:15 -0700
committerGravatar GitHub <noreply@github.com> 2023-03-29 09:37:15 -0300
commit767fdfbb97704405cb6442fab243c0896d82819f (patch)
tree059732206fdcf41a3c57f51ead631f9742c19758 /src/deps/libuwsockets.cpp
parentf0def8c77072869f3ce6bc081651ff4d8c97f66a (diff)
downloadbun-767fdfbb97704405cb6442fab243c0896d82819f.tar.gz
bun-767fdfbb97704405cb6442fab243c0896d82819f.tar.zst
bun-767fdfbb97704405cb6442fab243c0896d82819f.zip
Fixes #2499 (#2501)
* Fixes #2499 * This needs to be quoted --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
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
+}