diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2021-08-02 14:40:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-02 14:40:46 +0200 |
commit | 3a2e94492b0d4df1ae5c3bb5a6a6a899538de10b (patch) | |
tree | 3e9b89130f95df5b285a50ef273bbbc32c249605 /cli | |
parent | f87aa44d94240327fb4ab1dc756d70f71247edb4 (diff) |
feat: stabilize Deno.serveHttp() (#11544)
This commit moves "Deno.serveHttp()" and related types
to stable namespace.
Diffstat (limited to 'cli')
-rw-r--r-- | cli/bench/http.rs | 1 | ||||
-rw-r--r-- | cli/diagnostics.rs | 3 | ||||
-rw-r--r-- | cli/dts/lib.deno.ns.d.ts | 29 | ||||
-rw-r--r-- | cli/dts/lib.deno.unstable.d.ts | 18 |
4 files changed, 29 insertions, 22 deletions
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<HttpBenchmarkResult> { "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<FileInfo>; + + export interface RequestEvent { + readonly request: Request; + respondWith(r: Response | Promise<Response>): Promise<void>; + } + + export interface HttpConn extends AsyncIterable<RequestEvent> { + readonly rid: number; + + nextRequest(): Promise<RequestEvent | null>; + 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<string | URL>; }; } - - /** **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( |