mirror of
https://github.com/denoland/deno.git
synced 2025-03-03 17:34:47 -05:00
chore(net): soft-remove Deno.serveHttp()
(#25451)
Towards #22079 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
This commit is contained in:
parent
6919f33216
commit
7937ae3f2f
8 changed files with 102 additions and 167 deletions
135
cli/tsc/dts/lib.deno.ns.d.ts
vendored
135
cli/tsc/dts/lib.deno.ns.d.ts
vendored
|
@ -4777,110 +4777,6 @@ declare namespace Deno {
|
||||||
mtime: number | Date,
|
mtime: number | Date,
|
||||||
): Promise<void>;
|
): Promise<void>;
|
||||||
|
|
||||||
/** The event yielded from an {@linkcode HttpConn} which represents an HTTP
|
|
||||||
* request from a remote client.
|
|
||||||
*
|
|
||||||
* @category HTTP Server
|
|
||||||
*
|
|
||||||
* @deprecated This will be removed in Deno 2.0. See the
|
|
||||||
* {@link https://docs.deno.com/runtime/manual/advanced/migrate_deprecations | Deno 1.x to 2.x Migration Guide}
|
|
||||||
* for migration instructions.
|
|
||||||
*/
|
|
||||||
export interface RequestEvent {
|
|
||||||
/** The request from the client in the form of the web platform
|
|
||||||
* {@linkcode Request}. */
|
|
||||||
readonly request: Request;
|
|
||||||
/** The method to be used to respond to the event. The response needs to
|
|
||||||
* either be an instance of {@linkcode Response} or a promise that resolves
|
|
||||||
* with an instance of `Response`.
|
|
||||||
*
|
|
||||||
* When the response is successfully processed then the promise returned
|
|
||||||
* will be resolved. If there are any issues with sending the response,
|
|
||||||
* the promise will be rejected. */
|
|
||||||
respondWith(r: Response | PromiseLike<Response>): Promise<void>;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The async iterable that is returned from {@linkcode serveHttp} which
|
|
||||||
* yields up {@linkcode RequestEvent} events, representing individual
|
|
||||||
* requests on the HTTP server connection.
|
|
||||||
*
|
|
||||||
* @category HTTP Server
|
|
||||||
*
|
|
||||||
* @deprecated This will be removed in Deno 2.0. See the
|
|
||||||
* {@link https://docs.deno.com/runtime/manual/advanced/migrate_deprecations | Deno 1.x to 2.x Migration Guide}
|
|
||||||
* for migration instructions.
|
|
||||||
*/
|
|
||||||
export interface HttpConn extends AsyncIterable<RequestEvent>, Disposable {
|
|
||||||
/** The resource ID associated with this connection. Generally users do not
|
|
||||||
* need to be aware of this identifier. */
|
|
||||||
readonly rid: number;
|
|
||||||
|
|
||||||
/** An alternative to the async iterable interface which provides promises
|
|
||||||
* which resolve with either a {@linkcode RequestEvent} when there is
|
|
||||||
* another request or `null` when the client has closed the connection. */
|
|
||||||
nextRequest(): Promise<RequestEvent | null>;
|
|
||||||
/** Initiate a server side closure of the connection, indicating to the
|
|
||||||
* client that you refuse to accept any more requests on this connection.
|
|
||||||
*
|
|
||||||
* Typically the client closes the connection, which will result in the
|
|
||||||
* async iterable terminating or the `nextRequest()` method returning
|
|
||||||
* `null`. */
|
|
||||||
close(): void;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Provides an interface to handle HTTP request and responses over TCP or TLS
|
|
||||||
* connections. The method returns an {@linkcode HttpConn} which yields up
|
|
||||||
* {@linkcode RequestEvent} events, which utilize the web platform standard
|
|
||||||
* {@linkcode Request} and {@linkcode Response} objects to handle the request.
|
|
||||||
*
|
|
||||||
* ```ts
|
|
||||||
* const conn = Deno.listen({ port: 80 });
|
|
||||||
* const httpConn = Deno.serveHttp(await conn.accept());
|
|
||||||
* const e = await httpConn.nextRequest();
|
|
||||||
* if (e) {
|
|
||||||
* e.respondWith(new Response("Hello World"));
|
|
||||||
* }
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* Alternatively, you can also use the async iterator approach:
|
|
||||||
*
|
|
||||||
* ```ts
|
|
||||||
* async function handleHttp(conn: Deno.Conn) {
|
|
||||||
* for await (const e of Deno.serveHttp(conn)) {
|
|
||||||
* e.respondWith(new Response("Hello World"));
|
|
||||||
* }
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* for await (const conn of Deno.listen({ port: 80 })) {
|
|
||||||
* handleHttp(conn);
|
|
||||||
* }
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* If `httpConn.nextRequest()` encounters an error or returns `null` then the
|
|
||||||
* underlying {@linkcode HttpConn} resource is closed automatically.
|
|
||||||
*
|
|
||||||
* Also see the experimental Flash HTTP server {@linkcode Deno.serve} which
|
|
||||||
* provides a ground up rewrite of handling of HTTP requests and responses
|
|
||||||
* within the Deno CLI.
|
|
||||||
*
|
|
||||||
* Note that this function *consumes* the given connection passed to it, thus
|
|
||||||
* the original connection will be unusable after calling this. Additionally,
|
|
||||||
* you need to ensure that the connection is not being used elsewhere when
|
|
||||||
* calling this function in order for the connection to be consumed properly.
|
|
||||||
*
|
|
||||||
* For instance, if there is a `Promise` that is waiting for read operation on
|
|
||||||
* the connection to complete, it is considered that the connection is being
|
|
||||||
* used elsewhere. In such a case, this function will fail.
|
|
||||||
*
|
|
||||||
* @category HTTP Server
|
|
||||||
* @deprecated This will be soft-removed in Deno 2.0. See the
|
|
||||||
* {@link https://docs.deno.com/runtime/manual/advanced/migrate_deprecations | Deno 1.x to 2.x Migration Guide}
|
|
||||||
* for migration instructions.
|
|
||||||
*/
|
|
||||||
export function serveHttp(conn: Conn): HttpConn;
|
|
||||||
|
|
||||||
/** The object that is returned from a {@linkcode Deno.upgradeWebSocket}
|
/** The object that is returned from a {@linkcode Deno.upgradeWebSocket}
|
||||||
* request.
|
* request.
|
||||||
*
|
*
|
||||||
|
@ -4923,22 +4819,21 @@ declare namespace Deno {
|
||||||
* with the returned response for the websocket upgrade to be successful.
|
* with the returned response for the websocket upgrade to be successful.
|
||||||
*
|
*
|
||||||
* ```ts
|
* ```ts
|
||||||
* const conn = Deno.listen({ port: 80 });
|
* Deno.serve((req) => {
|
||||||
* const httpConn = Deno.serveHttp(await conn.accept());
|
* if (req.headers.get("upgrade") !== "websocket") {
|
||||||
* const e = await httpConn.nextRequest();
|
* return new Response(null, { status: 501 });
|
||||||
* if (e) {
|
* }
|
||||||
* const { socket, response } = Deno.upgradeWebSocket(e.request);
|
* const { socket, response } = Deno.upgradeWebSocket(req);
|
||||||
* socket.onopen = () => {
|
* socket.addEventListener("open", () => {
|
||||||
* socket.send("Hello World!");
|
* console.log("a client connected!");
|
||||||
* };
|
* });
|
||||||
* socket.onmessage = (e) => {
|
* socket.addEventListener("message", (event) => {
|
||||||
* console.log(e.data);
|
* if (event.data === "ping") {
|
||||||
* socket.close();
|
* socket.send("pong");
|
||||||
* };
|
* }
|
||||||
* socket.onclose = () => console.log("WebSocket has been closed.");
|
* });
|
||||||
* socket.onerror = (e) => console.error("WebSocket error:", e);
|
* return response;
|
||||||
* e.respondWith(response);
|
* });
|
||||||
* }
|
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* If the request body is disturbed (read from) before the upgrade is
|
* If the request body is disturbed (read from) before the upgrade is
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
||||||
|
|
||||||
import { core, internals, primordials } from "ext:core/mod.js";
|
import { core, primordials } from "ext:core/mod.js";
|
||||||
const {
|
const {
|
||||||
BadResourcePrototype,
|
BadResourcePrototype,
|
||||||
InterruptedPrototype,
|
InterruptedPrototype,
|
||||||
|
@ -396,11 +396,6 @@ function createRespondWith(
|
||||||
}
|
}
|
||||||
|
|
||||||
function serveHttp(conn) {
|
function serveHttp(conn) {
|
||||||
internals.warnOnDeprecatedApi(
|
|
||||||
"Deno.serveHttp()",
|
|
||||||
new Error().stack,
|
|
||||||
"Use `Deno.serve()` instead.",
|
|
||||||
);
|
|
||||||
const rid = op_http_start(conn[internalRidSymbol]);
|
const rid = op_http_start(conn[internalRidSymbol]);
|
||||||
return new HttpConn(rid, conn.remoteAddr, conn.localAddr);
|
return new HttpConn(rid, conn.remoteAddr, conn.localAddr);
|
||||||
}
|
}
|
||||||
|
|
2
tests/testdata/run/error_for_await.ts
vendored
2
tests/testdata/run/error_for_await.ts
vendored
|
@ -5,7 +5,7 @@ for await (const conn of listener) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleConn(conn: Deno.Conn) {
|
function handleConn(conn: Deno.Conn) {
|
||||||
const httpConn = Deno.serveHttp(conn);
|
const httpConn = (Deno as any).serveHttp(conn);
|
||||||
for await (const event of httpConn) {
|
for await (const event of httpConn) {
|
||||||
event.respondWith(new Response("html", { status: 200 }));
|
event.respondWith(new Response("html", { status: 200 }));
|
||||||
}
|
}
|
||||||
|
|
1
tests/testdata/run/http2_request_url.ts
vendored
1
tests/testdata/run/http2_request_url.ts
vendored
|
@ -5,6 +5,7 @@ const listener = Deno.listen({
|
||||||
console.log("READY");
|
console.log("READY");
|
||||||
|
|
||||||
for await (const conn of listener) {
|
for await (const conn of listener) {
|
||||||
|
// @ts-ignore `Deno.serveHttp()` was soft-removed in Deno 2.
|
||||||
for await (const { request, respondWith } of Deno.serveHttp(conn)) {
|
for await (const { request, respondWith } of Deno.serveHttp(conn)) {
|
||||||
const href = new URL(request.url).href;
|
const href = new URL(request.url).href;
|
||||||
respondWith(new Response(href));
|
respondWith(new Response(href));
|
||||||
|
|
|
@ -5,6 +5,7 @@ const closeDeferred = Promise.withResolvers<void>();
|
||||||
|
|
||||||
const listener = Deno.listen({ port: 4509 });
|
const listener = Deno.listen({ port: 4509 });
|
||||||
console.log("READY");
|
console.log("READY");
|
||||||
|
// @ts-ignore `Deno.serveHttp()` was soft-removed in Deno 2.
|
||||||
const httpConn = Deno.serveHttp(await listener.accept());
|
const httpConn = Deno.serveHttp(await listener.accept());
|
||||||
const { request, respondWith } = (await httpConn.nextRequest())!;
|
const { request, respondWith } = (await httpConn.nextRequest())!;
|
||||||
const { response, socket } = Deno.upgradeWebSocket(request, {
|
const { response, socket } = Deno.upgradeWebSocket(request, {
|
||||||
|
|
|
@ -2,6 +2,7 @@ const { promise, resolve } = Promise.withResolvers<void>();
|
||||||
const listener = Deno.listen({ port: 4319 });
|
const listener = Deno.listen({ port: 4319 });
|
||||||
console.log("READY");
|
console.log("READY");
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
// @ts-ignore `Deno.serveHttp()` was soft-removed in Deno 2.
|
||||||
const httpConn = Deno.serveHttp(conn);
|
const httpConn = Deno.serveHttp(conn);
|
||||||
const { request, respondWith } = (await httpConn.nextRequest())!;
|
const { request, respondWith } = (await httpConn.nextRequest())!;
|
||||||
const {
|
const {
|
||||||
|
|
1
tests/testdata/workers/http_worker.js
vendored
1
tests/testdata/workers/http_worker.js
vendored
|
@ -6,6 +6,7 @@ const listener = Deno.listen({ hostname: "127.0.0.1", port: 4506 });
|
||||||
postMessage("ready");
|
postMessage("ready");
|
||||||
for await (const conn of listener) {
|
for await (const conn of listener) {
|
||||||
(async () => {
|
(async () => {
|
||||||
|
// @ts-ignore `Deno.serveHttp()` was soft-removed in Deno 2.
|
||||||
const requests = Deno.serveHttp(conn);
|
const requests = Deno.serveHttp(conn);
|
||||||
for await (const { respondWith } of requests) {
|
for await (const { respondWith } of requests) {
|
||||||
respondWith(new Response("Hello world"));
|
respondWith(new Response("Hello world"));
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
||||||
|
// @ts-nocheck `Deno.serveHttp()` was soft-removed in Deno 2.
|
||||||
|
|
||||||
// deno-lint-ignore-file no-deprecated-deno-api
|
// deno-lint-ignore-file no-deprecated-deno-api
|
||||||
|
|
||||||
|
@ -51,7 +52,8 @@ async function writeRequestAndReadResponse(conn: Deno.Conn): Promise<string> {
|
||||||
}
|
}
|
||||||
|
|
||||||
Deno.test({ permissions: { net: true } }, async function httpServerBasic() {
|
Deno.test({ permissions: { net: true } }, async function httpServerBasic() {
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -146,7 +148,8 @@ Deno.test(
|
||||||
Deno.test(
|
Deno.test(
|
||||||
{ permissions: { net: true } },
|
{ permissions: { net: true } },
|
||||||
async function httpServerGetRequestBody() {
|
async function httpServerGetRequestBody() {
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -187,7 +190,8 @@ Deno.test(
|
||||||
writer.write(new TextEncoder().encode("world"));
|
writer.write(new TextEncoder().encode("world"));
|
||||||
writer.close();
|
writer.close();
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -250,7 +254,8 @@ Deno.test(
|
||||||
Deno.test(
|
Deno.test(
|
||||||
{ permissions: { net: true } },
|
{ permissions: { net: true } },
|
||||||
async function httpServerStreamDuplex() {
|
async function httpServerStreamDuplex() {
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -363,7 +368,8 @@ Deno.test(
|
||||||
Deno.test(
|
Deno.test(
|
||||||
{ permissions: { net: true } },
|
{ permissions: { net: true } },
|
||||||
async function httpServerRegressionHang() {
|
async function httpServerRegressionHang() {
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -482,7 +488,8 @@ Deno.test(
|
||||||
Deno.test(
|
Deno.test(
|
||||||
{ permissions: { net: true } },
|
{ permissions: { net: true } },
|
||||||
async function httpServerEmptyBlobResponse() {
|
async function httpServerEmptyBlobResponse() {
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -505,7 +512,8 @@ Deno.test(
|
||||||
Deno.test(
|
Deno.test(
|
||||||
{ permissions: { net: true } },
|
{ permissions: { net: true } },
|
||||||
async function httpServerNextRequestResolvesOnClose() {
|
async function httpServerNextRequestResolvesOnClose() {
|
||||||
const httpConnList: Deno.HttpConn[] = [];
|
// deno-lint-ignore no-explicit-any
|
||||||
|
const httpConnList: any[] = [];
|
||||||
|
|
||||||
async function serve(l: Deno.Listener) {
|
async function serve(l: Deno.Listener) {
|
||||||
for await (const conn of l) {
|
for await (const conn of l) {
|
||||||
|
@ -544,7 +552,8 @@ Deno.test(
|
||||||
return new Response(s).body!;
|
return new Response(s).body!;
|
||||||
}
|
}
|
||||||
|
|
||||||
const httpConns: Deno.HttpConn[] = [];
|
// deno-lint-ignore no-explicit-any
|
||||||
|
const httpConns: any[] = [];
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
let count = 0;
|
let count = 0;
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
|
@ -648,7 +657,8 @@ Deno.test(
|
||||||
}).pipeThrough(new TextEncoderStream());
|
}).pipeThrough(new TextEncoderStream());
|
||||||
}
|
}
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const finished = (async () => {
|
const finished = (async () => {
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -675,7 +685,8 @@ Deno.test(
|
||||||
Deno.test(
|
Deno.test(
|
||||||
{ permissions: { net: true } },
|
{ permissions: { net: true } },
|
||||||
async function httpRequestLatin1Headers() {
|
async function httpRequestLatin1Headers() {
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -724,7 +735,8 @@ Deno.test(
|
||||||
Deno.test(
|
Deno.test(
|
||||||
{ permissions: { net: true } },
|
{ permissions: { net: true } },
|
||||||
async function httpServerRequestWithoutPath() {
|
async function httpServerRequestWithoutPath() {
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -896,7 +908,8 @@ Deno.test(function httpUpgradeWebSocketWithoutUpgradeHeader() {
|
||||||
Deno.test(
|
Deno.test(
|
||||||
{ permissions: { net: true } },
|
{ permissions: { net: true } },
|
||||||
async function httpCookieConcatenation() {
|
async function httpCookieConcatenation() {
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -955,7 +968,8 @@ Deno.test(
|
||||||
using file = await Deno.open(tmpFile, { write: true, read: true });
|
using file = await Deno.open(tmpFile, { write: true, read: true });
|
||||||
await file.write(new Uint8Array(70 * 1024).fill(1)); // 70kb sent in 64kb + 6kb chunks
|
await file.write(new Uint8Array(70 * 1024).fill(1)); // 70kb sent in 64kb + 6kb chunks
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -1094,7 +1108,8 @@ Deno.test(
|
||||||
{ permissions: { net: true } },
|
{ permissions: { net: true } },
|
||||||
async function httpServerDoesntLeakResources2() {
|
async function httpServerDoesntLeakResources2() {
|
||||||
let listener: Deno.Listener;
|
let listener: Deno.Listener;
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
|
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
listener = Deno.listen({ port: listenPort });
|
listener = Deno.listen({ port: listenPort });
|
||||||
|
@ -1161,7 +1176,8 @@ Deno.test(
|
||||||
const hostname = "localhost";
|
const hostname = "localhost";
|
||||||
const port = listenPort;
|
const port = listenPort;
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const listener = Deno.listen({ hostname, port });
|
const listener = Deno.listen({ hostname, port });
|
||||||
async function server() {
|
async function server() {
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
|
@ -1248,7 +1264,8 @@ Deno.test(
|
||||||
const hostname = "localhost";
|
const hostname = "localhost";
|
||||||
const port = listenPort;
|
const port = listenPort;
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const listener = Deno.listen({ hostname, port });
|
const listener = Deno.listen({ hostname, port });
|
||||||
async function server() {
|
async function server() {
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
|
@ -1279,7 +1296,8 @@ Deno.test(
|
||||||
Deno.test(
|
Deno.test(
|
||||||
{ permissions: { net: true } },
|
{ permissions: { net: true } },
|
||||||
async function httpServerRespondNonAsciiUint8Array() {
|
async function httpServerRespondNonAsciiUint8Array() {
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -1318,7 +1336,8 @@ Deno.test(
|
||||||
async function httpServerOnUnixSocket() {
|
async function httpServerOnUnixSocket() {
|
||||||
const filePath = tmpUnixSocketPath();
|
const filePath = tmpUnixSocketPath();
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const listener = Deno.listen({ path: filePath, transport: "unix" });
|
const listener = Deno.listen({ path: filePath, transport: "unix" });
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -1367,7 +1386,8 @@ Deno.test({
|
||||||
|
|
||||||
const data = { hello: "deno", now: "with", compressed: "body" };
|
const data = { hello: "deno", now: "with", compressed: "body" };
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
httpConn = Deno.serveHttp(tcpConn);
|
httpConn = Deno.serveHttp(tcpConn);
|
||||||
|
@ -1419,7 +1439,8 @@ Deno.test({
|
||||||
|
|
||||||
const data = { hello: "deno", now: "with", compressed: "body" };
|
const data = { hello: "deno", now: "with", compressed: "body" };
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
httpConn = Deno.serveHttp(tcpConn);
|
httpConn = Deno.serveHttp(tcpConn);
|
||||||
|
@ -1473,7 +1494,8 @@ Deno.test({
|
||||||
const hostname = "localhost";
|
const hostname = "localhost";
|
||||||
const port = listenPort;
|
const port = listenPort;
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const listener = Deno.listen({ hostname, port });
|
const listener = Deno.listen({ hostname, port });
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
|
@ -1526,7 +1548,8 @@ Deno.test({
|
||||||
const hostname = "localhost";
|
const hostname = "localhost";
|
||||||
const port = listenPort;
|
const port = listenPort;
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const listener = Deno.listen({ hostname, port });
|
const listener = Deno.listen({ hostname, port });
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
|
@ -1582,7 +1605,8 @@ Deno.test({
|
||||||
const hostname = "localhost";
|
const hostname = "localhost";
|
||||||
const port = listenPort;
|
const port = listenPort;
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const listener = Deno.listen({ hostname, port });
|
const listener = Deno.listen({ hostname, port });
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
|
@ -1635,7 +1659,8 @@ Deno.test({
|
||||||
const hostname = "localhost";
|
const hostname = "localhost";
|
||||||
const port = listenPort;
|
const port = listenPort;
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const listener = Deno.listen({ hostname, port });
|
const listener = Deno.listen({ hostname, port });
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
|
@ -1695,7 +1720,8 @@ Deno.test({
|
||||||
const hostname = "localhost";
|
const hostname = "localhost";
|
||||||
const port = listenPort;
|
const port = listenPort;
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const listener = Deno.listen({ hostname, port });
|
const listener = Deno.listen({ hostname, port });
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
|
@ -1754,7 +1780,8 @@ Deno.test({
|
||||||
const hostname = "localhost";
|
const hostname = "localhost";
|
||||||
const port = listenPort;
|
const port = listenPort;
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const listener = Deno.listen({ hostname, port });
|
const listener = Deno.listen({ hostname, port });
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
|
@ -1810,7 +1837,8 @@ Deno.test({
|
||||||
const hostname = "localhost";
|
const hostname = "localhost";
|
||||||
const port = listenPort;
|
const port = listenPort;
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const listener = Deno.listen({ hostname, port });
|
const listener = Deno.listen({ hostname, port });
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
|
@ -1871,7 +1899,8 @@ Deno.test({
|
||||||
|
|
||||||
const data = { hello: "deno", now: "with", compressed: "body" };
|
const data = { hello: "deno", now: "with", compressed: "body" };
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
httpConn = Deno.serveHttp(tcpConn);
|
httpConn = Deno.serveHttp(tcpConn);
|
||||||
|
@ -1933,7 +1962,8 @@ Deno.test({
|
||||||
|
|
||||||
const data = { hello: "deno", now: "with", compressed: "body" };
|
const data = { hello: "deno", now: "with", compressed: "body" };
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
httpConn = Deno.serveHttp(tcpConn);
|
httpConn = Deno.serveHttp(tcpConn);
|
||||||
|
@ -1995,7 +2025,8 @@ Deno.test({
|
||||||
const port = listenPort;
|
const port = listenPort;
|
||||||
let contentLength: string;
|
let contentLength: string;
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const listener = Deno.listen({ hostname, port });
|
const listener = Deno.listen({ hostname, port });
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
|
@ -2061,7 +2092,8 @@ Deno.test({
|
||||||
const port = listenPort;
|
const port = listenPort;
|
||||||
let contentLength: string;
|
let contentLength: string;
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const listener = Deno.listen({ hostname, port });
|
const listener = Deno.listen({ hostname, port });
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
|
@ -2122,7 +2154,8 @@ Deno.test({
|
||||||
const port = listenPort;
|
const port = listenPort;
|
||||||
let contentLength: string;
|
let contentLength: string;
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const listener = Deno.listen({ hostname, port });
|
const listener = Deno.listen({ hostname, port });
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
|
@ -2182,7 +2215,8 @@ Deno.test(
|
||||||
const body = "aa\n" + "deno.land large body\n".repeat(TLS_PACKET_SIZE) +
|
const body = "aa\n" + "deno.land large body\n".repeat(TLS_PACKET_SIZE) +
|
||||||
"zz";
|
"zz";
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -2229,7 +2263,8 @@ Deno.test(
|
||||||
}
|
}
|
||||||
writer.close();
|
writer.close();
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -2339,7 +2374,8 @@ Deno.test(
|
||||||
{ permissions: { net: true } },
|
{ permissions: { net: true } },
|
||||||
async function httpServerRequestResponseClone() {
|
async function httpServerRequestResponseClone() {
|
||||||
const body = "deno".repeat(64 * 1024);
|
const body = "deno".repeat(64 * 1024);
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -2403,7 +2439,8 @@ Deno.test({
|
||||||
const listener = Deno.listen({ hostname, port });
|
const listener = Deno.listen({ hostname, port });
|
||||||
const listener2 = Deno.listen({ hostname, port: port2 });
|
const listener2 = Deno.listen({ hostname, port: port2 });
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function server() {
|
async function server() {
|
||||||
const tcpConn = await listener.accept();
|
const tcpConn = await listener.accept();
|
||||||
httpConn = Deno.serveHttp(tcpConn);
|
httpConn = Deno.serveHttp(tcpConn);
|
||||||
|
@ -2420,7 +2457,8 @@ Deno.test({
|
||||||
const writer = ts.writable.getWriter();
|
const writer = ts.writable.getWriter();
|
||||||
writer.write(encoder.encode("hello"));
|
writer.write(encoder.encode("hello"));
|
||||||
|
|
||||||
let httpConn2: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn2: any;
|
||||||
async function server2() {
|
async function server2() {
|
||||||
const tcpConn = await listener2.accept();
|
const tcpConn = await listener2.accept();
|
||||||
httpConn2 = Deno.serveHttp(tcpConn);
|
httpConn2 = Deno.serveHttp(tcpConn);
|
||||||
|
@ -2499,7 +2537,8 @@ Deno.test("case insensitive comma value finder", async (t) => {
|
||||||
async function httpServerWithErrorBody(
|
async function httpServerWithErrorBody(
|
||||||
listener: Deno.Listener,
|
listener: Deno.Listener,
|
||||||
compression: boolean,
|
compression: boolean,
|
||||||
): Promise<Deno.HttpConn> {
|
// deno-lint-ignore no-explicit-any
|
||||||
|
): Promise<any> {
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
listener.close();
|
listener.close();
|
||||||
const httpConn = Deno.serveHttp(conn);
|
const httpConn = Deno.serveHttp(conn);
|
||||||
|
@ -2627,7 +2666,8 @@ Deno.test({
|
||||||
name: "request signal is aborted when response errors",
|
name: "request signal is aborted when response errors",
|
||||||
permissions: { net: true },
|
permissions: { net: true },
|
||||||
async fn() {
|
async fn() {
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
const promise = (async () => {
|
const promise = (async () => {
|
||||||
const listener = Deno.listen({ port: listenPort });
|
const listener = Deno.listen({ port: listenPort });
|
||||||
const conn = await listener.accept();
|
const conn = await listener.accept();
|
||||||
|
@ -2682,7 +2722,8 @@ Deno.test("proxy with fetch", async () => {
|
||||||
return new Response("Hello world");
|
return new Response("Hello world");
|
||||||
});
|
});
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
// deno-lint-ignore no-explicit-any
|
||||||
|
let httpConn: any;
|
||||||
async function handleHttp(conn: Deno.Conn) {
|
async function handleHttp(conn: Deno.Conn) {
|
||||||
httpConn = Deno.serveHttp(conn);
|
httpConn = Deno.serveHttp(conn);
|
||||||
for await (const e of httpConn) {
|
for await (const e of httpConn) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue