From 2509613bbe11df78811f2fa6f29a2b7ee437d75c Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 20 Mar 2022 06:34:05 -0700 Subject: microptimize --- src/deps/libuwsockets.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/deps/libuwsockets.cpp') diff --git a/src/deps/libuwsockets.cpp b/src/deps/libuwsockets.cpp index ec082db43..132a22be8 100644 --- a/src/deps/libuwsockets.cpp +++ b/src/deps/libuwsockets.cpp @@ -981,4 +981,34 @@ void uws_loop_defer(us_loop_t *loop, void *ctx, void (*cb)(void *ctx)) { uWS::Loop *uwsLoop = (uWS::Loop *)loop; uwsLoop->defer([ctx, cb]() { cb(ctx); }); } + +void uws_res_write_headers(int ssl, uws_res_t *res, const StringPointer *names, + const StringPointer *values, size_t count, + const char *buf) { + if (ssl) { + uWS::HttpResponse *uwsRes = (uWS::HttpResponse *)res; + for (size_t i = 0; i < count; i++) { + uwsRes->writeHeader(std::string_view(&buf[names[i].off], names[i].len), + std::string_view(&buf[values[i].off], values[i].len)); + } + + } else { + uWS::HttpResponse *uwsRes = (uWS::HttpResponse *)res; + for (size_t i = 0; i < count; i++) { + uwsRes->writeHeader(std::string_view(&buf[names[i].off], names[i].len), + std::string_view(&buf[values[i].off], values[i].len)); + } + } +} + +void uws_res_cork(int ssl, uws_res_t *res, void *ctx, + void (*corker)(void *ctx)) { + if (ssl) { + uWS::HttpResponse *uwsRes = (uWS::HttpResponse *)res; + uwsRes->cork([ctx, corker]() { corker(ctx); }); + } else { + uWS::HttpResponse *uwsRes = (uWS::HttpResponse *)res; + uwsRes->cork([ctx, corker]() { corker(ctx); }); + } +} } \ No newline at end of file -- cgit v1.2.3