mirror of
https://github.com/denoland/deno.git
synced 2025-02-01 12:16:11 -05:00
chore: remove unused, unstable 'http' namespace (#23436)
Landing parts of #21903 in preparation for the removal of serveHttp.
This commit is contained in:
parent
6a09a16d71
commit
d9d3f81f29
9 changed files with 21 additions and 84 deletions
|
@ -4,11 +4,13 @@ import { core, internals, primordials } from "ext:core/mod.js";
|
||||||
const {
|
const {
|
||||||
BadResourcePrototype,
|
BadResourcePrototype,
|
||||||
InterruptedPrototype,
|
InterruptedPrototype,
|
||||||
|
internalRidSymbol,
|
||||||
} = core;
|
} = core;
|
||||||
import {
|
import {
|
||||||
op_http_accept,
|
op_http_accept,
|
||||||
op_http_headers,
|
op_http_headers,
|
||||||
op_http_shutdown,
|
op_http_shutdown,
|
||||||
|
op_http_start,
|
||||||
op_http_upgrade_websocket,
|
op_http_upgrade_websocket,
|
||||||
op_http_websocket_accept_header,
|
op_http_websocket_accept_header,
|
||||||
op_http_write,
|
op_http_write,
|
||||||
|
@ -71,7 +73,6 @@ import {
|
||||||
readableStreamForRid,
|
readableStreamForRid,
|
||||||
ReadableStreamPrototype,
|
ReadableStreamPrototype,
|
||||||
} from "ext:deno_web/06_streams.js";
|
} from "ext:deno_web/06_streams.js";
|
||||||
import { serve } from "ext:deno_http/00_serve.js";
|
|
||||||
import { SymbolDispose } from "ext:deno_web/00_infra.js";
|
import { SymbolDispose } from "ext:deno_web/00_infra.js";
|
||||||
|
|
||||||
const connErrorSymbol = Symbol("connError");
|
const connErrorSymbol = Symbol("connError");
|
||||||
|
@ -557,4 +558,14 @@ function buildCaseInsensitiveCommaValueFinder(checkText) {
|
||||||
internals.buildCaseInsensitiveCommaValueFinder =
|
internals.buildCaseInsensitiveCommaValueFinder =
|
||||||
buildCaseInsensitiveCommaValueFinder;
|
buildCaseInsensitiveCommaValueFinder;
|
||||||
|
|
||||||
export { _ws, HttpConn, serve, upgradeWebSocket };
|
function serveHttp(conn) {
|
||||||
|
internals.warnOnDeprecatedApi(
|
||||||
|
"Deno.serveHttp()",
|
||||||
|
new Error().stack,
|
||||||
|
"Use `Deno.serve()` instead.",
|
||||||
|
);
|
||||||
|
const rid = op_http_start(conn[internalRidSymbol]);
|
||||||
|
return new HttpConn(rid, conn.remoteAddr, conn.localAddr);
|
||||||
|
}
|
||||||
|
|
||||||
|
export { _ws, HttpConn, serveHttp, upgradeWebSocket };
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
||||||
import { core, internals } from "ext:core/mod.js";
|
|
||||||
import { op_http_start } from "ext:core/ops";
|
|
||||||
const { internalRidSymbol } = core;
|
|
||||||
|
|
||||||
import { HttpConn } from "ext:deno_http/01_http.js";
|
|
||||||
|
|
||||||
function serveHttp(conn) {
|
|
||||||
internals.warnOnDeprecatedApi(
|
|
||||||
"Deno.serveHttp()",
|
|
||||||
new Error().stack,
|
|
||||||
"Use `Deno.serve()` instead.",
|
|
||||||
);
|
|
||||||
const rid = op_http_start(conn[internalRidSymbol]);
|
|
||||||
return new HttpConn(rid, conn.remoteAddr, conn.localAddr);
|
|
||||||
}
|
|
||||||
|
|
||||||
export { serveHttp };
|
|
|
@ -13,6 +13,7 @@ import * as console from "ext:deno_console/01_console.js";
|
||||||
import * as ffi from "ext:deno_ffi/00_ffi.js";
|
import * as ffi from "ext:deno_ffi/00_ffi.js";
|
||||||
import * as net from "ext:deno_net/01_net.js";
|
import * as net from "ext:deno_net/01_net.js";
|
||||||
import * as tls from "ext:deno_net/02_tls.js";
|
import * as tls from "ext:deno_net/02_tls.js";
|
||||||
|
import * as serve from "ext:deno_http/00_serve.js";
|
||||||
import * as http from "ext:deno_http/01_http.js";
|
import * as http from "ext:deno_http/01_http.js";
|
||||||
import * as errors from "ext:runtime/01_errors.js";
|
import * as errors from "ext:runtime/01_errors.js";
|
||||||
import * as version from "ext:runtime/01_version.ts";
|
import * as version from "ext:runtime/01_version.ts";
|
||||||
|
@ -25,8 +26,6 @@ import * as fsEvents from "ext:runtime/40_fs_events.js";
|
||||||
import * as process from "ext:runtime/40_process.js";
|
import * as process from "ext:runtime/40_process.js";
|
||||||
import * as signals from "ext:runtime/40_signals.js";
|
import * as signals from "ext:runtime/40_signals.js";
|
||||||
import * as tty from "ext:runtime/40_tty.js";
|
import * as tty from "ext:runtime/40_tty.js";
|
||||||
// TODO(bartlomieju): this is funky we have two `http` imports
|
|
||||||
import * as httpRuntime from "ext:runtime/40_http.js";
|
|
||||||
import * as kv from "ext:deno_kv/01_db.ts";
|
import * as kv from "ext:deno_kv/01_db.ts";
|
||||||
import * as cron from "ext:deno_cron/01_cron.ts";
|
import * as cron from "ext:deno_cron/01_cron.ts";
|
||||||
import * as webgpuSurface from "ext:deno_webgpu/02_surface.js";
|
import * as webgpuSurface from "ext:deno_webgpu/02_surface.js";
|
||||||
|
@ -225,9 +224,8 @@ const denoNs = {
|
||||||
permissions: permissions.permissions,
|
permissions: permissions.permissions,
|
||||||
Permissions: permissions.Permissions,
|
Permissions: permissions.Permissions,
|
||||||
PermissionStatus: permissions.PermissionStatus,
|
PermissionStatus: permissions.PermissionStatus,
|
||||||
// TODO(bartlomieju): why is this not in one of extensions?
|
serveHttp: http.serveHttp,
|
||||||
serveHttp: httpRuntime.serveHttp,
|
serve: serve.serve,
|
||||||
serve: http.serve,
|
|
||||||
resolveDns: net.resolveDns,
|
resolveDns: net.resolveDns,
|
||||||
upgradeWebSocket: http.upgradeWebSocket,
|
upgradeWebSocket: http.upgradeWebSocket,
|
||||||
utime: fs.utime,
|
utime: fs.utime,
|
||||||
|
@ -292,8 +290,6 @@ denoNsUnstableById[unstableIds.fs] = {
|
||||||
denoNsUnstableById[unstableIds.http] = {
|
denoNsUnstableById[unstableIds.http] = {
|
||||||
HttpClient: httpClient.HttpClient,
|
HttpClient: httpClient.HttpClient,
|
||||||
createHttpClient: httpClient.createHttpClient,
|
createHttpClient: httpClient.createHttpClient,
|
||||||
// TODO(bartlomieju): why is it needed?
|
|
||||||
http,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
denoNsUnstableById[unstableIds.kv] = {
|
denoNsUnstableById[unstableIds.kv] = {
|
||||||
|
@ -328,8 +324,6 @@ const denoNsUnstable = {
|
||||||
umask: fs.umask,
|
umask: fs.umask,
|
||||||
HttpClient: httpClient.HttpClient,
|
HttpClient: httpClient.HttpClient,
|
||||||
createHttpClient: httpClient.createHttpClient,
|
createHttpClient: httpClient.createHttpClient,
|
||||||
// TODO(bartlomieju): why is it needed?
|
|
||||||
http,
|
|
||||||
dlopen: ffi.dlopen,
|
dlopen: ffi.dlopen,
|
||||||
UnsafeCallback: ffi.UnsafeCallback,
|
UnsafeCallback: ffi.UnsafeCallback,
|
||||||
UnsafePointer: ffi.UnsafePointer,
|
UnsafePointer: ffi.UnsafePointer,
|
||||||
|
|
|
@ -45,7 +45,6 @@ extension!(runtime,
|
||||||
"13_buffer.js",
|
"13_buffer.js",
|
||||||
"30_os.js",
|
"30_os.js",
|
||||||
"40_fs_events.js",
|
"40_fs_events.js",
|
||||||
"40_http.js",
|
|
||||||
"40_process.js",
|
"40_process.js",
|
||||||
"40_signals.js",
|
"40_signals.js",
|
||||||
"40_tty.js",
|
"40_tty.js",
|
||||||
|
|
|
@ -1,12 +1,4 @@
|
||||||
main undefined
|
main undefined
|
||||||
main undefined
|
main undefined
|
||||||
main undefined
|
|
||||||
main undefined
|
|
||||||
main undefined
|
|
||||||
main undefined
|
|
||||||
worker undefined
|
|
||||||
worker undefined
|
|
||||||
worker undefined
|
|
||||||
worker undefined
|
|
||||||
worker undefined
|
worker undefined
|
||||||
worker undefined
|
worker undefined
|
||||||
|
|
8
tests/testdata/run/unstable_http.enabled.out
vendored
8
tests/testdata/run/unstable_http.enabled.out
vendored
|
@ -1,12 +1,4 @@
|
||||||
main [class HttpClient]
|
main [class HttpClient]
|
||||||
main [Function: createHttpClient]
|
main [Function: createHttpClient]
|
||||||
main [class HttpConn]
|
|
||||||
main Symbol("[[associated_ws]]")
|
|
||||||
main [Function: serve]
|
|
||||||
main [Function: upgradeWebSocket]
|
|
||||||
worker [class HttpClient]
|
worker [class HttpClient]
|
||||||
worker [Function: createHttpClient]
|
worker [Function: createHttpClient]
|
||||||
worker [class HttpConn]
|
|
||||||
worker Symbol("[[associated_ws]]")
|
|
||||||
worker [Function: serve]
|
|
||||||
worker [Function: upgradeWebSocket]
|
|
||||||
|
|
4
tests/testdata/run/unstable_http.js
vendored
4
tests/testdata/run/unstable_http.js
vendored
|
@ -2,10 +2,6 @@ const scope = import.meta.url.slice(-7) === "#worker" ? "worker" : "main";
|
||||||
|
|
||||||
console.log(scope, Deno.HttpClient);
|
console.log(scope, Deno.HttpClient);
|
||||||
console.log(scope, Deno.createHttpClient);
|
console.log(scope, Deno.createHttpClient);
|
||||||
console.log(scope, Deno.http?.HttpConn);
|
|
||||||
console.log(scope, Deno.http?._ws);
|
|
||||||
console.log(scope, Deno.http?.serve);
|
|
||||||
console.log(scope, Deno.http?.upgradeWebSocket);
|
|
||||||
|
|
||||||
if (scope === "worker") {
|
if (scope === "worker") {
|
||||||
postMessage("done");
|
postMessage("done");
|
||||||
|
|
|
@ -1249,44 +1249,16 @@ Deno.test({}, function fetchWritableRespProps() {
|
||||||
|
|
||||||
Deno.test(
|
Deno.test(
|
||||||
{ permissions: { net: true } },
|
{ permissions: { net: true } },
|
||||||
async function fetchFilterOutCustomHostHeader(): Promise<
|
async function fetchFilterOutCustomHostHeader() {
|
||||||
void
|
|
||||||
> {
|
|
||||||
const addr = `127.0.0.1:${listenPort}`;
|
const addr = `127.0.0.1:${listenPort}`;
|
||||||
const [hostname, port] = addr.split(":");
|
const server = Deno.serve({ port: listenPort }, (req) => {
|
||||||
const listener = Deno.listen({
|
return new Response(`Host header was ${req.headers.get("Host")}`);
|
||||||
hostname,
|
|
||||||
port: Number(port),
|
|
||||||
}) as Deno.Listener;
|
|
||||||
|
|
||||||
let httpConn: Deno.HttpConn;
|
|
||||||
listener.accept().then(async (conn: Deno.Conn) => {
|
|
||||||
httpConn = Deno.serveHttp(conn);
|
|
||||||
|
|
||||||
await httpConn.nextRequest()
|
|
||||||
.then(async (requestEvent: Deno.RequestEvent | null) => {
|
|
||||||
const hostHeader = requestEvent?.request.headers.get("Host");
|
|
||||||
const headersToReturn = hostHeader
|
|
||||||
? { "Host": hostHeader }
|
|
||||||
: undefined;
|
|
||||||
|
|
||||||
await requestEvent?.respondWith(
|
|
||||||
new Response("", {
|
|
||||||
status: 200,
|
|
||||||
headers: headersToReturn,
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const response = await fetch(`http://${addr}/`, {
|
const response = await fetch(`http://${addr}/`, {
|
||||||
headers: { "Host": "example.com" },
|
headers: { "Host": "example.com" },
|
||||||
});
|
});
|
||||||
await response.text();
|
assertEquals(await response.text(), `Host header was ${addr}`);
|
||||||
listener.close();
|
await server.shutdown();
|
||||||
httpConn!.close();
|
|
||||||
|
|
||||||
assertEquals(response.headers.get("Host"), addr);
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -237,7 +237,6 @@
|
||||||
"ext:runtime/13_buffer.js": "../runtime/js/13_buffer.js",
|
"ext:runtime/13_buffer.js": "../runtime/js/13_buffer.js",
|
||||||
"ext:runtime/30_os.js": "../runtime/js/30_os.js",
|
"ext:runtime/30_os.js": "../runtime/js/30_os.js",
|
||||||
"ext:runtime/40_fs_events.js": "../runtime/js/40_fs_events.js",
|
"ext:runtime/40_fs_events.js": "../runtime/js/40_fs_events.js",
|
||||||
"ext:runtime/40_http.js": "../runtime/js/40_http.js",
|
|
||||||
"ext:runtime/40_process.js": "../runtime/js/40_process.js",
|
"ext:runtime/40_process.js": "../runtime/js/40_process.js",
|
||||||
"ext:runtime/40_signals.js": "../runtime/js/40_signals.js",
|
"ext:runtime/40_signals.js": "../runtime/js/40_signals.js",
|
||||||
"ext:runtime/40_tty.js": "../runtime/js/40_tty.js",
|
"ext:runtime/40_tty.js": "../runtime/js/40_tty.js",
|
||||||
|
|
Loading…
Add table
Reference in a new issue