有没有一种简单的方法可以使用 Deno.serveHttp 获取 IP 客户端?
Is there an easy way to get the IP client using Deno.serveHttp?
我在官方仓库上发现了这个问题。但不是直接的方式,而是更多来自 oakserver 的实现。 https://github.com/denoland/deno/discussions/9314
您可以将连接地址转换为 Deno.NetAddr
并访问 hostname
(如果需要,还可以访问 port
):
const server = Deno.listen({ port: 8080 });
for await (const conn of server) {
(async () => {
const httpConn = Deno.serveHttp(conn);
const { hostname } = conn.remoteAddr as Deno.NetAddr;
for await (const requestEvent of httpConn) {
requestEvent.respondWith(new Response(hostname));
}
})();
}
我在官方仓库上发现了这个问题。但不是直接的方式,而是更多来自 oakserver 的实现。 https://github.com/denoland/deno/discussions/9314
您可以将连接地址转换为 Deno.NetAddr
并访问 hostname
(如果需要,还可以访问 port
):
const server = Deno.listen({ port: 8080 });
for await (const conn of server) {
(async () => {
const httpConn = Deno.serveHttp(conn);
const { hostname } = conn.remoteAddr as Deno.NetAddr;
for await (const requestEvent of httpConn) {
requestEvent.respondWith(new Response(hostname));
}
})();
}