diff options
author | 2023-03-29 05:37:15 -0700 | |
---|---|---|
committer | 2023-03-29 09:37:15 -0300 | |
commit | 767fdfbb97704405cb6442fab243c0896d82819f (patch) | |
tree | 059732206fdcf41a3c57f51ead631f9742c19758 /src/deps/libuwsockets.cpp | |
parent | f0def8c77072869f3ce6bc081651ff4d8c97f66a (diff) | |
download | bun-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.cpp | 20 |
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 +} |