deno.land / x / deno@v1.28.2 / cli / bench / http / deno_http_ops.js

deno_http_ops.js
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
const addr = Deno.args[0] || "127.0.0.1:4500";const [hostname, port] = addr.split(":");const tcp = Deno.listen({ hostname, port: Number(port) });console.log("Server listening on", addr);
class Http { id; constructor(id) { this.id = id; } [Symbol.asyncIterator]() { return { next: async () => { const reqEvt = await Deno.core.opAsync("op_http_accept", this.id); return { value: reqEvt ?? undefined, done: reqEvt === null }; }, }; }}
for await (const conn of tcp) { const id = Deno.core.ops.op_http_start(conn.rid); const http = new Http(id); (async () => { for await (const req of http) { if (req == null) continue; const { 0: stream } = req; await Deno.core.opAsync( "op_http_write_headers", stream, 200, [], "Hello World", ); Deno.core.close(stream); } })();}
deno

Version Info

Tagged at
2 years ago