From 3a2e94492b0d4df1ae5c3bb5a6a6a899538de10b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Mon, 2 Aug 2021 14:40:46 +0200 Subject: feat: stabilize Deno.serveHttp() (#11544) This commit moves "Deno.serveHttp()" and related types to stable namespace. --- cli/bench/http.rs | 1 - cli/diagnostics.rs | 3 --- cli/dts/lib.deno.ns.d.ts | 29 +++++++++++++++++++++++++++++ cli/dts/lib.deno.unstable.d.ts | 18 ------------------ 4 files changed, 29 insertions(+), 22 deletions(-) (limited to 'cli') diff --git a/cli/bench/http.rs b/cli/bench/http.rs index 7fdab9844..585867892 100644 --- a/cli/bench/http.rs +++ b/cli/bench/http.rs @@ -203,7 +203,6 @@ fn deno_http_native(deno_exe: &str) -> Result { "run", "--allow-net", "--reload", - "--unstable", "cli/bench/deno_http_native.js", &server_addr(port), ], diff --git a/cli/diagnostics.rs b/cli/diagnostics.rs index f2c78d5c4..18506ccc8 100644 --- a/cli/diagnostics.rs +++ b/cli/diagnostics.rs @@ -25,7 +25,6 @@ const UNSTABLE_DENO_PROPS: &[&str] = &[ "EmitOptions", "EmitResult", "HttpClient", - "HttpConn", "LinuxSignal", "Location", "MXRecord", @@ -33,7 +32,6 @@ const UNSTABLE_DENO_PROPS: &[&str] = &[ "Metrics", "OpMetrics", "RecordType", - "RequestEvent", "ResolveDnsOptions", "SRVRecord", "SetRawOptions", @@ -60,7 +58,6 @@ const UNSTABLE_DENO_PROPS: &[&str] = &[ "osRelease", "ppid", "resolveDns", - "serveHttp", "setRaw", "shutdown", "signal", diff --git a/cli/dts/lib.deno.ns.d.ts b/cli/dts/lib.deno.ns.d.ts index 469b8a329..37cc58ad6 100644 --- a/cli/dts/lib.deno.ns.d.ts +++ b/cli/dts/lib.deno.ns.d.ts @@ -2414,4 +2414,33 @@ declare namespace Deno { * ``` */ export function fstat(rid: number): Promise; + + export interface RequestEvent { + readonly request: Request; + respondWith(r: Response | Promise): Promise; + } + + export interface HttpConn extends AsyncIterable { + readonly rid: number; + + nextRequest(): Promise; + close(): void; + } + + /** + * Services HTTP requests given a TCP or TLS socket. + * + * ```ts + * const conn = await Deno.connect({ port: 80, hostname: "127.0.0.1" }); + * const httpConn = Deno.serveHttp(conn); + * const e = await httpConn.nextRequest(); + * if (e) { + * e.respondWith(new Response("Hello World")); + * } + * ``` + * + * If `httpConn.nextRequest()` encounters an error or returns `null` + * then the underlying HttpConn resource is closed automatically. + */ + export function serveHttp(conn: Conn): HttpConn; } diff --git a/cli/dts/lib.deno.unstable.d.ts b/cli/dts/lib.deno.unstable.d.ts index 442da1e53..0ac829463 100644 --- a/cli/dts/lib.deno.unstable.d.ts +++ b/cli/dts/lib.deno.unstable.d.ts @@ -1076,24 +1076,6 @@ declare namespace Deno { write?: "inherit" | boolean | Array; }; } - - /** **UNSTABLE**: new API, yet to be vetted. - * - * Services HTTP requests given a TCP or TLS socket. - * - * ```ts - * const conn = await Deno.connect({ port: 80, hostname: "127.0.0.1" }); - * const httpConn = Deno.serveHttp(conn); - * const e = await httpConn.nextRequest(); - * if (e) { - * e.respondWith(new Response("Hello World")); - * } - * ``` - * - * If `httpConn.nextRequest()` encounters an error or returns `null` - * then the underlying HttpConn resource is closed automatically. - */ - export function serveHttp(conn: Conn): HttpConn; } declare function fetch( -- cgit v1.2.3