{
  "node_net_keys": [
    "BlockList",
    "Server",
    "Socket",
    "SocketAddress",
    "Stream",
    "_normalizeArgs",
    "connect",
    "createConnection",
    "createServer",
    "default",
    "getDefaultAutoSelectFamily",
    "getDefaultAutoSelectFamilyAttemptTimeout",
    "isIP",
    "isIPv4",
    "isIPv6",
    "setDefaultAutoSelectFamily",
    "setDefaultAutoSelectFamilyAttemptTimeout"
  ],
  "node_net_createConnection_type": "function",
  "node_net_connect_type": "function",
  "node_net_Socket_type": "function",
  "node_tls_keys": [
    "CLIENT_RENEG_LIMIT",
    "CLIENT_RENEG_WINDOW",
    "DEFAULT_CIPHERS",
    "DEFAULT_ECDH_CURVE",
    "DEFAULT_MAX_VERSION",
    "DEFAULT_MIN_VERSION",
    "SecureContext",
    "Server",
    "TLSSocket",
    "checkServerIdentity",
    "connect",
    "convertALPNProtocols",
    "createSecureContext",
    "createSecurePair",
    "createServer",
    "default",
    "getCiphers",
    "rootCertificates"
  ],
  "node_tls_connect_type": "function",
  "node_tls_TLSSocket_type": "function",
  "node_net_connect_ok": true,
  "node_net_sock_type": "object",
  "node_net_sock_constructor": "Socket",
  "node_net_headers_seen": "HTTP/1.1 200 OK\r\nDate: Thu, 09 Apr 2026 05:51:36 GMT\r\nContent-Type: application/json\r\nContent-Length: 117\r\nConnection: close\r\nServer: gunicorn/19.9.0\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Credentials: true\r\n\r\n{\n  \"headers\": {\n    \"Host\": \"httpbin.org\", \n    \"X-Amzn-Trace-Id\": \"Root=1-69d73e68-05a6792e33260de1674a2577\"\n  }\n}\n",
  "node_tls_test_error": "The options.rejectUnauthorized option is not implemented",
  "cf_connect_tls_headers_seen": "HTTP/1.1 200 OK\r\nDate: Thu, 09 Apr 2026 05:51:36 GMT\r\nContent-Type: application/json\r\nContent-Length: 117\r\nConnection: close\r\nServer: gunicorn/19.9.0\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Credentials: true\r\n\r\n{\n  \"headers\": {\n    \"Host\": \"httpbin.org\", \n    \"X-Amzn-Trace-Id\": \"Root=1-69d73e68-3162d0054e8001e16205bbe6\"\n  }\n}\n",
  "node_net_Socket_proto": [
    "constructor",
    "_unrefTimer",
    "setTimeout",
    "_onTimeout",
    "_getpeername",
    "_getsockname",
    "address",
    "_writeGeneric",
    "_writev",
    "_write",
    "_final",
    "end",
    "pause",
    "resume",
    "read",
    "_read",
    "_reset",
    "resetAndDestroy",
    "destroySoon",
    "_destroy",
    "connect",
    "setNoDelay",
    "setKeepAlive",
    "ref",
    "unref",
    "_connecting",
    "pending",
    "readyState",
    "bufferSize",
    "bytesRead",
    "_bytesDispatched",
    "bytesWritten",
    "remoteAddress",
    "remoteFamily",
    "remotePort",
    "localAddress",
    "localPort",
    "localFamily"
  ],
  "comparison": {
    "cf_connect": {
      "import": "import { connect } from 'cloudflare:sockets'",
      "usage": "connect({ hostname, port }, { secureTransport })",
      "return": "Socket { readable, writable, opened, closed, startTls }"
    },
    "node_net": {
      "import": "import { createConnection } from 'node:net'",
      "usage": "createConnection({ host, port })",
      "return": "net.Socket (Node.js EventEmitter style)",
      "notes": "需要 nodejs_compat flag"
    }
  }
}