From f3bde1d53b4710fb526286e27af29a55f5da18c7 Mon Sep 17 00:00:00 2001 From: Luca Casonato Date: Wed, 24 Aug 2022 14:10:57 +0200 Subject: feat(ext/flash): split upgradeHttp into two APIs (#15557) This commit splits `Deno.upgradeHttp` into two different APIs, because the same API is currently overloaded with two different functions. Flash requests upgrade immediately, with no need to return a `Response` object. Instead you have to manually write the response to the socket. Hyper requests only upgrade once a `Response` object has been sent. These two behaviours are now split into `Deno.upgradeHttp` and `Deno.upgradeHttpRaw`. The latter is flash only. The former only supports hyper requests at the moment, but can be updated to support flash in the future. Additionally this removes `void | Promise` as valid return types for the handler function. If one wants to use `Deno.upgradeHttpRaw`, they will have to type cast the handler signature - the signature is meant for the 99.99%, and should not be complicated for the 0.01% that use `Deno.upgradeHttpRaw()`. --- runtime/js/90_deno_ns.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'runtime/js/90_deno_ns.js') diff --git a/runtime/js/90_deno_ns.js b/runtime/js/90_deno_ns.js index dfca9d5bc..200bf73c2 100644 --- a/runtime/js/90_deno_ns.js +++ b/runtime/js/90_deno_ns.js @@ -109,7 +109,6 @@ serveHttp: __bootstrap.http.serveHttp, resolveDns: __bootstrap.net.resolveDns, upgradeWebSocket: __bootstrap.http.upgradeWebSocket, - upgradeHttp: __bootstrap.http.upgradeHttp, kill: __bootstrap.process.kill, addSignalListener: __bootstrap.signals.addSignalListener, removeSignalListener: __bootstrap.signals.removeSignalListener, @@ -154,5 +153,7 @@ spawn: __bootstrap.spawn.spawn, spawnSync: __bootstrap.spawn.spawnSync, serve: __bootstrap.flash.serve, + upgradeHttp: __bootstrap.http.upgradeHttp, + upgradeHttpRaw: __bootstrap.flash.upgradeHttpRaw, }; })(this); -- cgit v1.2.3