deno/ext/net
林炳权 cb738ee5da
chore: Rust 1.86.0 (#29435)
Since `rust 1.87.0` reported `undefined symbol:
ring::pbkdf2::PBKDF2_HMAC_SHA1::*` in CI and it was difficult to debug
locally, use `rust 1.86.0` in CI tests for troubleshoot the errors
2025-05-25 23:40:48 +02:00
..
01_net.js fix(ext/node): implement dgram setMulticastLoopback (#29241) 2025-05-12 08:53:15 +05:30
02_tls.js fix(ext/node): allow rejectUnauthorized: false in node:tls (#29245) 2025-05-13 17:43:58 +05:30
03_quic.js fix: unhandled rejection from quic (#28448) 2025-03-11 07:23:42 +01:00
Cargo.toml fix: Support virtio vsock only on systems on which it is available (#29268) (#29354) 2025-05-21 15:54:05 +02:00
io.rs fix: Support virtio vsock only on systems on which it is available (#29268) (#29354) 2025-05-21 15:54:05 +02:00
lib.rs fix(ext/node): dgram multicast group membership (#29207) 2025-05-08 22:07:40 +05:30
ops.rs chore: Rust 1.86.0 (#29435) 2025-05-25 23:40:48 +02:00
ops_tls.rs fix(ext/node): allow rejectUnauthorized: false in node:tls (#29245) 2025-05-13 17:43:58 +05:30
ops_unix.rs perf(fs): don't canonicalize path when opening file if --allow-all is passed (#28716) 2025-04-29 23:16:24 +00:00
quic.rs fix: update deno_core (#29166) 2025-05-05 13:58:34 -05:00
raw.rs chore: Rust 1.86.0 (#29435) 2025-05-25 23:40:48 +02:00
README.md refactor: allow lazy main module (#28929) 2025-04-30 19:59:20 +00:00
resolve_addr.rs chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
tcp.rs chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00

deno_net

This crate implements networking APIs.

Usage Example

From javascript, include the extension's source:

import * as webidl from "ext:deno_webidl/00_webidl.js";
import * as net from "ext:deno_net/01_net.js";
import * as tls from "ext:deno_net/02_tls.js";

Then from rust, provide: deno_net::deno_net::init::<Permissions>(root_cert_store_provider, unsafely_ignore_certificate_errors)

Where:

  • root_cert_store_provider: Option<Arc<dyn RootCertStoreProvider>>
  • unsafely_ignore_certificate_errors: Option<Vec<String>>
  • Permissions: A struct implementing deno_net::NetPermissions

In the extensions field of your RuntimeOptions

Dependencies

  • deno_web: Provided by the deno_web crate
  • deno_fetch: Provided by the deno_fetch crate

Provided ops

Following ops are provided, which can be accessed through Deno.ops:

Net

  • op_net_accept_tcp
  • op_net_accept_unix
  • op_net_connect_tcp
  • op_net_connect_unix
  • op_net_listen_tcp
  • op_net_listen_udp
  • op_net_listen_unix
  • op_net_listen_unixpacket
  • op_net_recv_udp
  • op_net_recv_unixpacket
  • op_net_send_udp
  • op_net_send_unixpacket
  • op_net_connect_tls
  • op_net_listen_tls
  • op_net_accept_tls
  • op_net_recv_udp
  • op_net_send_udp
  • op_net_join_multi_v4_udp
  • op_net_join_multi_v6_udp
  • op_net_leave_multi_v4_udp
  • op_net_leave_multi_v6_udp
  • op_net_set_multi_loopback_udp
  • op_net_set_multi_ttl_udp
  • op_net_accept_tcp
  • op_net_connect_tcp
  • op_net_listen_tcp
  • op_net_listen_udp
  • op_net_connect_tls
  • op_net_listen_tls
  • op_net_accept_tls
  • op_net_accept_unix
  • op_net_connect_unix
  • op_net_listen_unix
  • op_net_listen_unixpacket
  • op_net_recv_unixpacket
  • op_net_send_unixpacket

TLS

  • op_tls_start
  • op_tls_handshake
  • op_tls_key_null
  • op_tls_key_static
  • op_tls_key_static_from_file
  • op_tls_cert_resolver_create
  • op_tls_cert_resolver_poll
  • op_tls_cert_resolver_resolve
  • op_tls_cert_resolver_resolve_error
  • op_tls_start
  • op_tls_handshake

Other

  • op_node_unstable_net_listen_udp
  • op_dns_resolve
  • op_dns_resolve
  • op_set_nodelay
  • op_set_keepalive
  • op_node_unstable_net_listen_unixpacket