{"id":16347824,"url":"https://github.com/privatenumber/compare-bun-node","last_synced_at":"2025-06-19T17:38:11.577Z","repository":{"id":150556275,"uuid":"622996871","full_name":"privatenumber/compare-bun-node","owner":"privatenumber","description":"Comparison of Bun's API against Node.js's","archived":false,"fork":false,"pushed_at":"2024-04-29T00:12:36.000Z","size":2192,"stargazers_count":55,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-04T00:17:52.316Z","etag":null,"topics":["api","bun","bun-api","is-bun-ready","node"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/privatenumber.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"privatenumber"}},"created_at":"2023-04-03T13:41:07.000Z","updated_at":"2024-05-06T01:28:07.577Z","dependencies_parsed_at":"2023-10-16T14:31:11.962Z","dependency_job_id":"f3c7d142-ccc9-4310-913f-46bc30b81922","html_url":"https://github.com/privatenumber/compare-bun-node","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/privatenumber%2Fcompare-bun-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/privatenumber%2Fcompare-bun-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/privatenumber%2Fcompare-bun-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/privatenumber%2Fcompare-bun-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/privatenumber","download_url":"https://codeload.github.com/privatenumber/compare-bun-node/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221466248,"owners_count":16826869,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","bun","bun-api","is-bun-ready","node"],"created_at":"2024-10-11T00:46:15.228Z","updated_at":"2025-03-15T11:32:38.888Z","avatar_url":"https://github.com/privatenumber.png","language":"JavaScript","funding_links":["https://github.com/sponsors/privatenumber"],"categories":[],"sub_categories":[],"readme":"# [Bun](https://bun.sh) \u0026 [Node.js](https://nodejs.org) API comparison\n\n#### Why?\nHave you wondered how Bun's `import 'fs'` differs from Node's?\n\nThis repository provides a comparative overview of the [Bun](https://bun.sh) and [Node.js](https://nodejs.org) runtime API.\n\nScrolling down, you should be able to see what's available in Bun, what's not, and how they differ.\n\nThe goal of this comparison is to help you determine if Bun is ready for adoption.\n\n#### Self-maintaining repo\n\nThe comparison is [automatically performed every week using GitHub Actions](/.github/workflows/compare.yml), with the latest _Bun Canary_ and _Node.js LTS_.\n\nFor more details, refer to the Actions tab.\n\n#### Contribute to Bun!\n\nBun is a rapidly maturing project and offers excellent opportunities for contributions. If you would like to help improve any aspect of Bun, please visit the [Bun repository](https://github.com/oven-sh/bun).\n\n_Last updated on \u003c!-- lastUpdated:start --\u003eMar 10, 2025 with Bun 1.2.5 Node.js v22.14.0\u003c!-- lastUpdated:end --\u003e._\n\n## [Node.js APIs](https://nodejs.org/api/) compared\n\u003c!-- builtins:start --\u003e\n\u003c!-- builtins:end --\u003e\n\n\n\u003c!-- comparison:start --\u003e\n\u003cdetails\u003e\n\t\t\t\t\u003csummary\u003e\u003ccode\u003e_http_agent\u003c/code\u003e\u003c/summary\u003e\n\t\t\t\t\u003cbr\u003e\n\n\u003ctable\u003e\u003ctr\u003e\u003cth\u003eNode.js\u003c/th\u003e\u003cth\u003eBun\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n[Object: null prototype] {\n    Agent: \u003cref *2\u003e ƒ Agent(length: 1) {\n        defaultMaxSockets: Infinity\n    },\n    default: {\n        Agent: [Circular: *2],\n        globalAgent: \u003cref *4\u003e Agent {\n            _events: [Object: null prototype] {\n                free: ƒ (length: 2) {},\n                newListener: ƒ maybeEnableKeylog(length: 1) {}\n            },\n            _eventsCount: 2,\n            _maxListeners: undefined,\n            defaultPort: 80,\n            protocol: \"http:\",\n            options: [Object: null prototype] {\n                keepAlive: true,\n                scheduling: \"lifo\",\n                timeout: 5000,\n                noDelay: true,\n                path: null\n            },\n            requests: [Object: null prototype] {},\n            sockets: [Object: null prototype] {},\n            freeSockets: [Object: null prototype] {},\n            keepAliveMsecs: 1000,\n            keepAlive: true,\n            maxSockets: Infinity,\n            maxFreeSockets: 256,\n            scheduling: \"lifo\",\n            maxTotalSockets: Infinity,\n            totalSocketCount: 0,\n            Symbol(shapeMode): false,\n            Symbol(kCapture): false\n        }\n    },\n    globalAgent: [Circular: *4]\n}\n```\n\n\u003c/td\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n{\n    Agent: \u003cref *2\u003e ƒ Agent(length: 0) {},\n    ClientRequest: \u003cref *3\u003e class ClientRequest extends OutgoingMessage {},\n    CloseEvent: \u003cref *4\u003e ƒ CloseEvent(length: 1) {},\n    IncomingMessage: \u003cref *5\u003e ƒ IncomingMessage(length: 2) {\n        prototype: IncomingMessage {\n            constructor: [Circular: *5],\n            _construct: ƒ _construct(length: 1) {},\n            _read: ƒ _read(length: 1) {},\n            _destroy: ƒ _destroy(length: 2) {},\n            [get/set] aborted: undefined,\n            [get/set] connection: \u003cref *10\u003e Socket {\n                _events: {\n                    close: undefined,\n                    error: undefined,\n                    prefinish: undefined,\n                    finish: undefined,\n                    drain: undefined,\n                    data: undefined,\n                    end: undefined,\n                    readable: undefined\n                },\n                _readableState: {\n                    highWaterMark: 65536,\n                    buffer: [],\n                    bufferIndex: 0,\n                    length: 0,\n                    pipes: [],\n                    awaitDrainWriters: null,\n                    Symbol(kState): 1052940\n                },\n                _writableState: {\n                    highWaterMark: 65536,\n                    length: 0,\n                    corked: 0,\n                    onwrite: ƒ bound onwrite(length: 1) {},\n                    writelen: 0,\n                    bufferedIndex: 0,\n                    pendingcb: 0,\n                    Symbol(kState): 17580812,\n                    Symbol(kBufferedValue): null\n                },\n                allowHalfOpen: true,\n                _maxListeners: undefined,\n                bytesRead: 0,\n                bytesWritten: 0,\n                connecting: false,\n                timeout: 0,\n                isServer: false,\n                Symbol(kCapture): false,\n                Symbol(::bunternal::): undefined\n            },\n            statusCode: [Error accessing: undefined is not an object (evaluating 'reqSymbol')],\n            statusMessage: [Error accessing: undefined is not an object (evaluating 'STATUS_CODES')],\n            [get/set] httpVersion: \"1.1\",\n            [get/set] httpVersionMajor: 1,\n            [get/set] httpVersionMinor: 1,\n            [get/set] rawTrailers: [],\n            [get/set] trailers: [Object: null prototype] {},\n            setTimeout: ƒ setTimeout(length: 2) {},\n            [get/set] socket: [Circular: *10]\n        }\n    },\n    METHODS: \u003cref *20\u003e [\n        \"ACL\",\n        \"BIND\",\n        \"CHECKOUT\",\n        \"CONNECT\",\n        \"COPY\",\n        \"DELETE\",\n        \"GET\",\n        \"HEAD\",\n        \"LINK\",\n        \"LOCK\",\n        \"M-SEARCH\",\n        \"MERGE\",\n        \"MKACTIVITY\",\n        \"MKCALENDAR\",\n        \"MKCOL\",\n        \"MOVE\",\n        \"NOTIFY\",\n        \"OPTIONS\",\n        \"PATCH\",\n        \"POST\",\n        \"PROPFIND\",\n        \"PROPPATCH\",\n        \"PURGE\",\n        \"PUT\",\n        \"REBIND\",\n        \"REPORT\",\n        \"SEARCH\",\n        \"SOURCE\",\n        \"SUBSCRIBE\",\n        \"TRACE\",\n        \"UNBIND\",\n        \"UNLINK\",\n        \"UNLOCK\",\n        \"UNSUBSCRIBE\"\n    ],\n    MessageEvent: \u003cref *21\u003e ƒ MessageEvent(length: 1) {},\n    OutgoingMessage: \u003cref *22\u003e ƒ OutgoingMessage(length: 1) {\n        prototype: OutgoingMessage {\n            constructor: [Circular: *22],\n            _implicitHeader: ƒ (length: 0) {},\n            appendHeader: ƒ (length: 2) {},\n            flushHeaders: ƒ (length: 0) {},\n            getHeader: ƒ (length: 1) {},\n            getHeaders: ƒ (length: 0) {},\n            getHeaderNames: ƒ (length: 0) {},\n            removeHeader: ƒ (length: 1) {},\n            setHeader: ƒ (length: 2) {},\n            hasHeader: ƒ (length: 1) {},\n            addTrailers: ƒ (length: 1) {},\n            setTimeout: ƒ (length: 2) {}\n        }\n    },\n    STATUS_CODES: \u003cref *35\u003e {\n        100: \"Continue\",\n        101: \"Switching Protocols\",\n        102: \"Processing\",\n        103: \"Early Hints\",\n        200: \"OK\",\n        201: \"Created\",\n        202: \"Accepted\",\n        203: \"Non-Authoritative Information\",\n        204: \"No Content\",\n        205: \"Reset Content\",\n        206: \"Partial Content\",\n        207: \"Multi-Status\",\n        208: \"Already Reported\",\n        226: \"IM Used\",\n        300: \"Multiple Choices\",\n        301: \"Moved Permanently\",\n        302: \"Found\",\n        303: \"See Other\",\n        304: \"Not Modified\",\n        305: \"Use Proxy\",\n        307: \"Temporary Redirect\",\n        308: \"Permanent Redirect\",\n        400: \"Bad Request\",\n        401: \"Unauthorized\",\n        402: \"Payment Required\",\n        403: \"Forbidden\",\n        404: \"Not Found\",\n        405: \"Method Not Allowed\",\n        406: \"Not Acceptable\",\n        407: \"Proxy Authentication Required\",\n        408: \"Request Timeout\",\n        409: \"Conflict\",\n        410: \"Gone\",\n        411: \"Length Required\",\n        412: \"Precondition Failed\",\n        413: \"Payload Too Large\",\n        414: \"URI Too Long\",\n        415: \"Unsupported Media Type\",\n        416: \"Range Not Satisfiable\",\n        417: \"Expectation Failed\",\n        418: \"I'm a Teapot\",\n        421: \"Misdirected Request\",\n        422: \"Unprocessable Entity\",\n        423: \"Locked\",\n        424: \"Failed Dependency\",\n        425: \"Too Early\",\n        426: \"Upgrade Required\",\n        428: \"Precondition Required\",\n        429: \"Too Many Requests\",\n        431: \"Request Header Fields Too Large\",\n        451: \"Unavailable For Legal Reasons\",\n        500: \"Internal Server Error\",\n        501: \"Not Implemented\",\n        502: \"Bad Gateway\",\n        503: \"Service Unavailable\",\n        504: \"Gateway Timeout\",\n        505: \"HTTP Version Not Supported\",\n        506: \"Variant Also Negotiates\",\n        507: \"Insufficient Storage\",\n        508: \"Loop Detected\",\n        509: \"Bandwidth Limit Exceeded\",\n        510: \"Not Extended\",\n        511: \"Network Authentication Required\"\n    },\n    Server: \u003cref *36\u003e ƒ Server(length: 2) {\n        prototype: Server {\n            ref: ƒ ref(length: 0) {},\n            unref: ƒ unref(length: 0) {},\n            closeAllConnections: ƒ closeAllConnections(length: 0) {},\n            closeIdleConnections: ƒ closeIdleConnections(length: 0) {},\n            close: ƒ close(length: 1) {},\n            address: ƒ address(length: 0) {},\n            listen: ƒ listen(length: 0) {},\n            setTimeout: ƒ setTimeout(length: 2) {},\n            constructor: [Circular: *36],\n            Symbol(Symbol.asyncDispose): ƒ [Symbol.asyncDispose](length: 0) {},\n            Symbol(kRealListen): ƒ [kRealListen](length: 6) {}\n        }\n    },\n    ServerResponse: \u003cref *48\u003e ƒ ServerResponse(length: 2) {\n        prototype: ServerResponse {\n            constructor: [Circular: *48],\n            _implicitHeader: ƒ (length: 0) {},\n            _write: ƒ (length: 3) {},\n            _writev: ƒ (length: 2) {},\n            _final: ƒ (length: 1) {},\n            writeProcessing: ƒ (length: 0) {},\n            addTrailers: ƒ (length: 1) {},\n            assignSocket: ƒ (length: 1) {},\n            detachSocket: ƒ (length: 1) {},\n            writeContinue: ƒ (length: 1) {},\n            setTimeout: ƒ (length: 2) {},\n            appendHeader: ƒ (length: 2) {},\n            flushHeaders: ƒ (length: 0) {},\n            getHeader: ƒ (length: 1) {},\n            getHeaders: ƒ (length: 0) {},\n            getHeaderNames: ƒ (length: 0) {},\n            removeHeader: ƒ (length: 1) {},\n            setHeader: ƒ (length: 2) {},\n            hasHeader: ƒ (length: 1) {},\n            writeHead: ƒ (length: 3) {}\n        }\n    },\n    WebSocket: \u003cref *69\u003e ƒ WebSocket(length: 1) {\n        CONNECTING: 0,\n        OPEN: 1,\n        CLOSING: 2,\n        CLOSED: 3\n    },\n    createServer: \u003cref *70\u003e ƒ createServer(length: 2) {},\n    default: {\n        Agent: [Circular: *2],\n        Server: [Circular: *36],\n        METHODS: [Circular: *20],\n        STATUS_CODES: [Circular: *35],\n        createServer: [Circular: *70],\n        ServerResponse: [Circular: *48],\n        IncomingMessage: [Circular: *5],\n        request: \u003cref *72\u003e ƒ request(length: 3) {},\n        get: \u003cref *73\u003e ƒ get(length: 3) {},\n        [get/set] maxHeaderSize: 16384,\n        validateHeaderName: \u003cref *74\u003e ƒ validateHeaderName(length: 2) {},\n        validateHeaderValue: \u003cref *75\u003e ƒ validateHeaderValue(length: 2) {},\n        setMaxIdleHTTPParsers: \u003cref *76\u003e ƒ setMaxIdleHTTPParsers(length: 1) {},\n        globalAgent: \u003cref *77\u003e Agent {\n            _events: [Object: null prototype] {},\n            _eventsCount: 0,\n            _maxListeners: undefined,\n            defaultPort: 80,\n            protocol: \"http:\",\n            options: {\n                path: null,\n                noDelay: true\n            },\n            requests: [Object: null prototype] {},\n            sockets: [Object: null prototype] {},\n            freeSockets: [Object: null prototype] {},\n            keepAliveMsecs: 1000,\n            keepAlive: false,\n            maxSockets: Infinity,\n            maxFreeSockets: 256,\n            scheduling: \"lifo\",\n            maxTotalSockets: undefined,\n            totalSocketCount: 0,\n            Symbol(kCapture): false\n        },\n        ClientRequest: [Circular: *3],\n        OutgoingMessage: [Circular: *22],\n        WebSocket: [Circular: *69],\n        CloseEvent: [Circular: *4],\n        MessageEvent: [Circular: *21]\n    },\n    get: [Circular: *73],\n    globalAgent: [Circular: *77],\n    maxHeaderSize: 16384,\n    request: [Circular: *72],\n    setMaxIdleHTTPParsers: [Circular: *76],\n    validateHeaderName: [Circular: *74],\n    validateHeaderValue: [Circular: *75]\n}\n```\n\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\t\t\t\u003c/details\u003e\n\n\u003cdetails\u003e\n\t\t\t\t\u003csummary\u003e\u003ccode\u003e_http_client\u003c/code\u003e\u003c/summary\u003e\n\t\t\t\t\u003cbr\u003e\n\n\u003ctable\u003e\u003ctr\u003e\u003cth\u003eNode.js\u003c/th\u003e\u003cth\u003eBun\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n[Object: null prototype] {\n    ClientRequest: \u003cref *2\u003e ƒ ClientRequest(length: 3) {},\n    default: {\n        ClientRequest: [Circular: *2]\n    }\n}\n```\n\n\u003c/td\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n{\n    Agent: \u003cref *2\u003e ƒ Agent(length: 0) {},\n    ClientRequest: \u003cref *3\u003e class ClientRequest extends OutgoingMessage {},\n    CloseEvent: \u003cref *4\u003e ƒ CloseEvent(length: 1) {},\n    IncomingMessage: \u003cref *5\u003e ƒ IncomingMessage(length: 2) {\n        prototype: IncomingMessage {\n            constructor: [Circular: *5],\n            _construct: ƒ _construct(length: 1) {},\n            _read: ƒ _read(length: 1) {},\n            _destroy: ƒ _destroy(length: 2) {},\n            [get/set] aborted: undefined,\n            [get/set] connection: \u003cref *10\u003e Socket {\n                _events: {\n                    close: undefined,\n                    error: undefined,\n                    prefinish: undefined,\n                    finish: undefined,\n                    drain: undefined,\n                    data: undefined,\n                    end: undefined,\n                    readable: undefined\n                },\n                _readableState: {\n                    highWaterMark: 65536,\n                    buffer: [],\n                    bufferIndex: 0,\n                    length: 0,\n                    pipes: [],\n                    awaitDrainWriters: null,\n                    Symbol(kState): 1052940\n                },\n                _writableState: {\n                    highWaterMark: 65536,\n                    length: 0,\n                    corked: 0,\n                    onwrite: ƒ bound onwrite(length: 1) {},\n                    writelen: 0,\n                    bufferedIndex: 0,\n                    pendingcb: 0,\n                    Symbol(kState): 17580812,\n                    Symbol(kBufferedValue): null\n                },\n                allowHalfOpen: true,\n                _maxListeners: undefined,\n                bytesRead: 0,\n                bytesWritten: 0,\n                connecting: false,\n                timeout: 0,\n                isServer: false,\n                Symbol(kCapture): false,\n                Symbol(::bunternal::): undefined\n            },\n            statusCode: [Error accessing: undefined is not an object (evaluating 'reqSymbol')],\n            statusMessage: [Error accessing: undefined is not an object (evaluating 'STATUS_CODES')],\n            [get/set] httpVersion: \"1.1\",\n            [get/set] httpVersionMajor: 1,\n            [get/set] httpVersionMinor: 1,\n            [get/set] rawTrailers: [],\n            [get/set] trailers: [Object: null prototype] {},\n            setTimeout: ƒ setTimeout(length: 2) {},\n            [get/set] socket: [Circular: *10]\n        }\n    },\n    METHODS: \u003cref *20\u003e [\n        \"ACL\",\n        \"BIND\",\n        \"CHECKOUT\",\n        \"CONNECT\",\n        \"COPY\",\n        \"DELETE\",\n        \"GET\",\n        \"HEAD\",\n        \"LINK\",\n        \"LOCK\",\n        \"M-SEARCH\",\n        \"MERGE\",\n        \"MKACTIVITY\",\n        \"MKCALENDAR\",\n        \"MKCOL\",\n        \"MOVE\",\n        \"NOTIFY\",\n        \"OPTIONS\",\n        \"PATCH\",\n        \"POST\",\n        \"PROPFIND\",\n        \"PROPPATCH\",\n        \"PURGE\",\n        \"PUT\",\n        \"REBIND\",\n        \"REPORT\",\n        \"SEARCH\",\n        \"SOURCE\",\n        \"SUBSCRIBE\",\n        \"TRACE\",\n        \"UNBIND\",\n        \"UNLINK\",\n        \"UNLOCK\",\n        \"UNSUBSCRIBE\"\n    ],\n    MessageEvent: \u003cref *21\u003e ƒ MessageEvent(length: 1) {},\n    OutgoingMessage: \u003cref *22\u003e ƒ OutgoingMessage(length: 1) {\n        prototype: OutgoingMessage {\n            constructor: [Circular: *22],\n            _implicitHeader: ƒ (length: 0) {},\n            appendHeader: ƒ (length: 2) {},\n            flushHeaders: ƒ (length: 0) {},\n            getHeader: ƒ (length: 1) {},\n            getHeaders: ƒ (length: 0) {},\n            getHeaderNames: ƒ (length: 0) {},\n            removeHeader: ƒ (length: 1) {},\n            setHeader: ƒ (length: 2) {},\n            hasHeader: ƒ (length: 1) {},\n            addTrailers: ƒ (length: 1) {},\n            setTimeout: ƒ (length: 2) {}\n        }\n    },\n    STATUS_CODES: \u003cref *35\u003e {\n        100: \"Continue\",\n        101: \"Switching Protocols\",\n        102: \"Processing\",\n        103: \"Early Hints\",\n        200: \"OK\",\n        201: \"Created\",\n        202: \"Accepted\",\n        203: \"Non-Authoritative Information\",\n        204: \"No Content\",\n        205: \"Reset Content\",\n        206: \"Partial Content\",\n        207: \"Multi-Status\",\n        208: \"Already Reported\",\n        226: \"IM Used\",\n        300: \"Multiple Choices\",\n        301: \"Moved Permanently\",\n        302: \"Found\",\n        303: \"See Other\",\n        304: \"Not Modified\",\n        305: \"Use Proxy\",\n        307: \"Temporary Redirect\",\n        308: \"Permanent Redirect\",\n        400: \"Bad Request\",\n        401: \"Unauthorized\",\n        402: \"Payment Required\",\n        403: \"Forbidden\",\n        404: \"Not Found\",\n        405: \"Method Not Allowed\",\n        406: \"Not Acceptable\",\n        407: \"Proxy Authentication Required\",\n        408: \"Request Timeout\",\n        409: \"Conflict\",\n        410: \"Gone\",\n        411: \"Length Required\",\n        412: \"Precondition Failed\",\n        413: \"Payload Too Large\",\n        414: \"URI Too Long\",\n        415: \"Unsupported Media Type\",\n        416: \"Range Not Satisfiable\",\n        417: \"Expectation Failed\",\n        418: \"I'm a Teapot\",\n        421: \"Misdirected Request\",\n        422: \"Unprocessable Entity\",\n        423: \"Locked\",\n        424: \"Failed Dependency\",\n        425: \"Too Early\",\n        426: \"Upgrade Required\",\n        428: \"Precondition Required\",\n        429: \"Too Many Requests\",\n        431: \"Request Header Fields Too Large\",\n        451: \"Unavailable For Legal Reasons\",\n        500: \"Internal Server Error\",\n        501: \"Not Implemented\",\n        502: \"Bad Gateway\",\n        503: \"Service Unavailable\",\n        504: \"Gateway Timeout\",\n        505: \"HTTP Version Not Supported\",\n        506: \"Variant Also Negotiates\",\n        507: \"Insufficient Storage\",\n        508: \"Loop Detected\",\n        509: \"Bandwidth Limit Exceeded\",\n        510: \"Not Extended\",\n        511: \"Network Authentication Required\"\n    },\n    Server: \u003cref *36\u003e ƒ Server(length: 2) {\n        prototype: Server {\n            ref: ƒ ref(length: 0) {},\n            unref: ƒ unref(length: 0) {},\n            closeAllConnections: ƒ closeAllConnections(length: 0) {},\n            closeIdleConnections: ƒ closeIdleConnections(length: 0) {},\n            close: ƒ close(length: 1) {},\n            address: ƒ address(length: 0) {},\n            listen: ƒ listen(length: 0) {},\n            setTimeout: ƒ setTimeout(length: 2) {},\n            constructor: [Circular: *36],\n            Symbol(Symbol.asyncDispose): ƒ [Symbol.asyncDispose](length: 0) {},\n            Symbol(kRealListen): ƒ [kRealListen](length: 6) {}\n        }\n    },\n    ServerResponse: \u003cref *48\u003e ƒ ServerResponse(length: 2) {\n        prototype: ServerResponse {\n            constructor: [Circular: *48],\n            _implicitHeader: ƒ (length: 0) {},\n            _write: ƒ (length: 3) {},\n            _writev: ƒ (length: 2) {},\n            _final: ƒ (length: 1) {},\n            writeProcessing: ƒ (length: 0) {},\n            addTrailers: ƒ (length: 1) {},\n            assignSocket: ƒ (length: 1) {},\n            detachSocket: ƒ (length: 1) {},\n            writeContinue: ƒ (length: 1) {},\n            setTimeout: ƒ (length: 2) {},\n            appendHeader: ƒ (length: 2) {},\n            flushHeaders: ƒ (length: 0) {},\n            getHeader: ƒ (length: 1) {},\n            getHeaders: ƒ (length: 0) {},\n            getHeaderNames: ƒ (length: 0) {},\n            removeHeader: ƒ (length: 1) {},\n            setHeader: ƒ (length: 2) {},\n            hasHeader: ƒ (length: 1) {},\n            writeHead: ƒ (length: 3) {}\n        }\n    },\n    WebSocket: \u003cref *69\u003e ƒ WebSocket(length: 1) {\n        CONNECTING: 0,\n        OPEN: 1,\n        CLOSING: 2,\n        CLOSED: 3\n    },\n    createServer: \u003cref *70\u003e ƒ createServer(length: 2) {},\n    default: {\n        Agent: [Circular: *2],\n        Server: [Circular: *36],\n        METHODS: [Circular: *20],\n        STATUS_CODES: [Circular: *35],\n        createServer: [Circular: *70],\n        ServerResponse: [Circular: *48],\n        IncomingMessage: [Circular: *5],\n        request: \u003cref *72\u003e ƒ request(length: 3) {},\n        get: \u003cref *73\u003e ƒ get(length: 3) {},\n        [get/set] maxHeaderSize: 16384,\n        validateHeaderName: \u003cref *74\u003e ƒ validateHeaderName(length: 2) {},\n        validateHeaderValue: \u003cref *75\u003e ƒ validateHeaderValue(length: 2) {},\n        setMaxIdleHTTPParsers: \u003cref *76\u003e ƒ setMaxIdleHTTPParsers(length: 1) {},\n        globalAgent: \u003cref *77\u003e Agent {\n            _events: [Object: null prototype] {},\n            _eventsCount: 0,\n            _maxListeners: undefined,\n            defaultPort: 80,\n            protocol: \"http:\",\n            options: {\n                path: null,\n                noDelay: true\n            },\n            requests: [Object: null prototype] {},\n            sockets: [Object: null prototype] {},\n            freeSockets: [Object: null prototype] {},\n            keepAliveMsecs: 1000,\n            keepAlive: false,\n            maxSockets: Infinity,\n            maxFreeSockets: 256,\n            scheduling: \"lifo\",\n            maxTotalSockets: undefined,\n            totalSocketCount: 0,\n            Symbol(kCapture): false\n        },\n        ClientRequest: [Circular: *3],\n        OutgoingMessage: [Circular: *22],\n        WebSocket: [Circular: *69],\n        CloseEvent: [Circular: *4],\n        MessageEvent: [Circular: *21]\n    },\n    get: [Circular: *73],\n    globalAgent: [Circular: *77],\n    maxHeaderSize: 16384,\n    request: [Circular: *72],\n    setMaxIdleHTTPParsers: [Circular: *76],\n    validateHeaderName: [Circular: *74],\n    validateHeaderValue: [Circular: *75]\n}\n```\n\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\t\t\t\u003c/details\u003e\n\n\u003cdetails\u003e\n\t\t\t\t\u003csummary\u003e\u003ccode\u003e_http_common\u003c/code\u003e\u003c/summary\u003e\n\t\t\t\t\u003cbr\u003e\n\n\u003ctable\u003e\u003ctr\u003e\u003cth\u003eNode.js\u003c/th\u003e\u003cth\u003eBun\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n[Object: null prototype] {\n    CRLF: \"\\r\\n\",\n    HTTPParser: \u003cref *2\u003e ƒ HTTPParser(length: 0) {\n        REQUEST: 1,\n        RESPONSE: 2,\n        kOnMessageBegin: 0,\n        kOnHeaders: 1,\n        kOnHeadersComplete: 2,\n        kOnBody: 3,\n        kOnMessageComplete: 4,\n        kOnExecute: 5,\n        kOnTimeout: 6,\n        kLenientNone: 0,\n        kLenientHeaders: 1,\n        kLenientChunkedLength: 2,\n        kLenientKeepAlive: 4,\n        kLenientTransferEncoding: 8,\n        kLenientVersion: 16,\n        kLenientDataAfterClose: 32,\n        kLenientOptionalLFAfterCR: 64,\n        kLenientOptionalCRLFAfterChunk: 128,\n        kLenientOptionalCRBeforeLF: 256,\n        kLenientSpacesAfterChunkSize: 512,\n        kLenientAll: 1023\n    },\n    _checkInvalidHeaderChar: \u003cref *3\u003e ƒ checkInvalidHeaderChar(length: 1) {},\n    _checkIsHttpToken: \u003cref *4\u003e ƒ checkIsHttpToken(length: 1) {},\n    chunkExpression: \u003cref *5\u003e /(?:^|\\W)chunked(?:$|\\W)/i,\n    continueExpression: \u003cref *6\u003e /(?:^|\\W)100-continue(?:$|\\W)/i,\n    default: {\n        _checkInvalidHeaderChar: [Circular: *3],\n        _checkIsHttpToken: [Circular: *4],\n        chunkExpression: [Circular: *5],\n        continueExpression: [Circular: *6],\n        CRLF: \"\\r\\n\",\n        freeParser: \u003cref *8\u003e ƒ freeParser(length: 3) {},\n        methods: \u003cref *9\u003e [\n            \"DELETE\",\n            \"GET\",\n            \"HEAD\",\n            \"POST\",\n            \"PUT\",\n            \"CONNECT\",\n            \"OPTIONS\",\n            \"TRACE\",\n            \"COPY\",\n            \"LOCK\",\n            \"MKCOL\",\n            \"MOVE\",\n            \"PROPFIND\",\n            \"PROPPATCH\",\n            \"SEARCH\",\n            \"UNLOCK\",\n            \"BIND\",\n            \"REBIND\",\n            \"UNBIND\",\n            \"ACL\",\n            \"REPORT\",\n            \"MKACTIVITY\",\n            \"CHECKOUT\",\n            \"MERGE\",\n            \"M-SEARCH\",\n            \"NOTIFY\",\n            \"SUBSCRIBE\",\n            \"UNSUBSCRIBE\",\n            \"PATCH\",\n            \"PURGE\",\n            \"MKCALENDAR\",\n            \"LINK\",\n            \"UNLINK\",\n            \"SOURCE\",\n            \"QUERY\"\n        ],\n        parsers: \u003cref *10\u003e FreeList {\n            name: \"parsers\",\n            ctor: ƒ parsersCb(length: 0) {},\n            max: 1000,\n            list: []\n        },\n        kIncomingMessage: Symbol(IncomingMessage),\n        HTTPParser: [Circular: *2],\n        isLenient: \u003cref *13\u003e ƒ isLenient(length: 0) {},\n        prepareError: \u003cref *14\u003e ƒ prepareError(length: 3) {}\n    },\n    freeParser: [Circular: *8],\n    isLenient: [Circular: *13],\n    kIncomingMessage: Symbol(IncomingMessage),\n    methods: [Circular: *9],\n    parsers: [Circular: *10],\n    prepareError: [Circular: *14]\n}\n```\n\n\u003c/td\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n{\n    Agent: \u003cref *2\u003e ƒ Agent(length: 0) {},\n    ClientRequest: \u003cref *3\u003e class ClientRequest extends OutgoingMessage {},\n    CloseEvent: \u003cref *4\u003e ƒ CloseEvent(length: 1) {},\n    IncomingMessage: \u003cref *5\u003e ƒ IncomingMessage(length: 2) {\n        prototype: IncomingMessage {\n            constructor: [Circular: *5],\n            _construct: ƒ _construct(length: 1) {},\n            _read: ƒ _read(length: 1) {},\n            _destroy: ƒ _destroy(length: 2) {},\n            [get/set] aborted: undefined,\n            [get/set] connection: \u003cref *10\u003e Socket {\n                _events: {\n                    close: undefined,\n                    error: undefined,\n                    prefinish: undefined,\n                    finish: undefined,\n                    drain: undefined,\n                    data: undefined,\n                    end: undefined,\n                    readable: undefined\n                },\n                _readableState: {\n                    highWaterMark: 65536,\n                    buffer: [],\n                    bufferIndex: 0,\n                    length: 0,\n                    pipes: [],\n                    awaitDrainWriters: null,\n                    Symbol(kState): 1052940\n                },\n                _writableState: {\n                    highWaterMark: 65536,\n                    length: 0,\n                    corked: 0,\n                    onwrite: ƒ bound onwrite(length: 1) {},\n                    writelen: 0,\n                    bufferedIndex: 0,\n                    pendingcb: 0,\n                    Symbol(kState): 17580812,\n                    Symbol(kBufferedValue): null\n                },\n                allowHalfOpen: true,\n                _maxListeners: undefined,\n                bytesRead: 0,\n                bytesWritten: 0,\n                connecting: false,\n                timeout: 0,\n                isServer: false,\n                Symbol(kCapture): false,\n                Symbol(::bunternal::): undefined\n            },\n            statusCode: [Error accessing: undefined is not an object (evaluating 'reqSymbol')],\n            statusMessage: [Error accessing: undefined is not an object (evaluating 'STATUS_CODES')],\n            [get/set] httpVersion: \"1.1\",\n            [get/set] httpVersionMajor: 1,\n            [get/set] httpVersionMinor: 1,\n            [get/set] rawTrailers: [],\n            [get/set] trailers: [Object: null prototype] {},\n            setTimeout: ƒ setTimeout(length: 2) {},\n            [get/set] socket: [Circular: *10]\n        }\n    },\n    METHODS: \u003cref *20\u003e [\n        \"ACL\",\n        \"BIND\",\n        \"CHECKOUT\",\n        \"CONNECT\",\n        \"COPY\",\n        \"DELETE\",\n        \"GET\",\n        \"HEAD\",\n        \"LINK\",\n        \"LOCK\",\n        \"M-SEARCH\",\n        \"MERGE\",\n        \"MKACTIVITY\",\n        \"MKCALENDAR\",\n        \"MKCOL\",\n        \"MOVE\",\n        \"NOTIFY\",\n        \"OPTIONS\",\n        \"PATCH\",\n        \"POST\",\n        \"PROPFIND\",\n        \"PROPPATCH\",\n        \"PURGE\",\n        \"PUT\",\n        \"REBIND\",\n        \"REPORT\",\n        \"SEARCH\",\n        \"SOURCE\",\n        \"SUBSCRIBE\",\n        \"TRACE\",\n        \"UNBIND\",\n        \"UNLINK\",\n        \"UNLOCK\",\n        \"UNSUBSCRIBE\"\n    ],\n    MessageEvent: \u003cref *21\u003e ƒ MessageEvent(length: 1) {},\n    OutgoingMessage: \u003cref *22\u003e ƒ OutgoingMessage(length: 1) {\n        prototype: OutgoingMessage {\n            constructor: [Circular: *22],\n            _implicitHeader: ƒ (length: 0) {},\n            appendHeader: ƒ (length: 2) {},\n            flushHeaders: ƒ (length: 0) {},\n            getHeader: ƒ (length: 1) {},\n            getHeaders: ƒ (length: 0) {},\n            getHeaderNames: ƒ (length: 0) {},\n            removeHeader: ƒ (length: 1) {},\n            setHeader: ƒ (length: 2) {},\n            hasHeader: ƒ (length: 1) {},\n            addTrailers: ƒ (length: 1) {},\n            setTimeout: ƒ (length: 2) {}\n        }\n    },\n    STATUS_CODES: \u003cref *35\u003e {\n        100: \"Continue\",\n        101: \"Switching Protocols\",\n        102: \"Processing\",\n        103: \"Early Hints\",\n        200: \"OK\",\n        201: \"Created\",\n        202: \"Accepted\",\n        203: \"Non-Authoritative Information\",\n        204: \"No Content\",\n        205: \"Reset Content\",\n        206: \"Partial Content\",\n        207: \"Multi-Status\",\n        208: \"Already Reported\",\n        226: \"IM Used\",\n        300: \"Multiple Choices\",\n        301: \"Moved Permanently\",\n        302: \"Found\",\n        303: \"See Other\",\n        304: \"Not Modified\",\n        305: \"Use Proxy\",\n        307: \"Temporary Redirect\",\n        308: \"Permanent Redirect\",\n        400: \"Bad Request\",\n        401: \"Unauthorized\",\n        402: \"Payment Required\",\n        403: \"Forbidden\",\n        404: \"Not Found\",\n        405: \"Method Not Allowed\",\n        406: \"Not Acceptable\",\n        407: \"Proxy Authentication Required\",\n        408: \"Request Timeout\",\n        409: \"Conflict\",\n        410: \"Gone\",\n        411: \"Length Required\",\n        412: \"Precondition Failed\",\n        413: \"Payload Too Large\",\n        414: \"URI Too Long\",\n        415: \"Unsupported Media Type\",\n        416: \"Range Not Satisfiable\",\n        417: \"Expectation Failed\",\n        418: \"I'm a Teapot\",\n        421: \"Misdirected Request\",\n        422: \"Unprocessable Entity\",\n        423: \"Locked\",\n        424: \"Failed Dependency\",\n        425: \"Too Early\",\n        426: \"Upgrade Required\",\n        428: \"Precondition Required\",\n        429: \"Too Many Requests\",\n        431: \"Request Header Fields Too Large\",\n        451: \"Unavailable For Legal Reasons\",\n        500: \"Internal Server Error\",\n        501: \"Not Implemented\",\n        502: \"Bad Gateway\",\n        503: \"Service Unavailable\",\n        504: \"Gateway Timeout\",\n        505: \"HTTP Version Not Supported\",\n        506: \"Variant Also Negotiates\",\n        507: \"Insufficient Storage\",\n        508: \"Loop Detected\",\n        509: \"Bandwidth Limit Exceeded\",\n        510: \"Not Extended\",\n        511: \"Network Authentication Required\"\n    },\n    Server: \u003cref *36\u003e ƒ Server(length: 2) {\n        prototype: Server {\n            ref: ƒ ref(length: 0) {},\n            unref: ƒ unref(length: 0) {},\n            closeAllConnections: ƒ closeAllConnections(length: 0) {},\n            closeIdleConnections: ƒ closeIdleConnections(length: 0) {},\n            close: ƒ close(length: 1) {},\n            address: ƒ address(length: 0) {},\n            listen: ƒ listen(length: 0) {},\n            setTimeout: ƒ setTimeout(length: 2) {},\n            constructor: [Circular: *36],\n            Symbol(Symbol.asyncDispose): ƒ [Symbol.asyncDispose](length: 0) {},\n            Symbol(kRealListen): ƒ [kRealListen](length: 6) {}\n        }\n    },\n    ServerResponse: \u003cref *48\u003e ƒ ServerResponse(length: 2) {\n        prototype: ServerResponse {\n            constructor: [Circular: *48],\n            _implicitHeader: ƒ (length: 0) {},\n            _write: ƒ (length: 3) {},\n            _writev: ƒ (length: 2) {},\n            _final: ƒ (length: 1) {},\n            writeProcessing: ƒ (length: 0) {},\n            addTrailers: ƒ (length: 1) {},\n            assignSocket: ƒ (length: 1) {},\n            detachSocket: ƒ (length: 1) {},\n            writeContinue: ƒ (length: 1) {},\n            setTimeout: ƒ (length: 2) {},\n            appendHeader: ƒ (length: 2) {},\n            flushHeaders: ƒ (length: 0) {},\n            getHeader: ƒ (length: 1) {},\n            getHeaders: ƒ (length: 0) {},\n            getHeaderNames: ƒ (length: 0) {},\n            removeHeader: ƒ (length: 1) {},\n            setHeader: ƒ (length: 2) {},\n            hasHeader: ƒ (length: 1) {},\n            writeHead: ƒ (length: 3) {}\n        }\n    },\n    WebSocket: \u003cref *69\u003e ƒ WebSocket(length: 1) {\n        CONNECTING: 0,\n        OPEN: 1,\n        CLOSING: 2,\n        CLOSED: 3\n    },\n    createServer: \u003cref *70\u003e ƒ createServer(length: 2) {},\n    default: {\n        Agent: [Circular: *2],\n        Server: [Circular: *36],\n        METHODS: [Circular: *20],\n        STATUS_CODES: [Circular: *35],\n        createServer: [Circular: *70],\n        ServerResponse: [Circular: *48],\n        IncomingMessage: [Circular: *5],\n        request: \u003cref *72\u003e ƒ request(length: 3) {},\n        get: \u003cref *73\u003e ƒ get(length: 3) {},\n        [get/set] maxHeaderSize: 16384,\n        validateHeaderName: \u003cref *74\u003e ƒ validateHeaderName(length: 2) {},\n        validateHeaderValue: \u003cref *75\u003e ƒ validateHeaderValue(length: 2) {},\n        setMaxIdleHTTPParsers: \u003cref *76\u003e ƒ setMaxIdleHTTPParsers(length: 1) {},\n        globalAgent: \u003cref *77\u003e Agent {\n            _events: [Object: null prototype] {},\n            _eventsCount: 0,\n            _maxListeners: undefined,\n            defaultPort: 80,\n            protocol: \"http:\",\n            options: {\n                path: null,\n                noDelay: true\n            },\n            requests: [Object: null prototype] {},\n            sockets: [Object: null prototype] {},\n            freeSockets: [Object: null prototype] {},\n            keepAliveMsecs: 1000,\n            keepAlive: false,\n            maxSockets: Infinity,\n            maxFreeSockets: 256,\n            scheduling: \"lifo\",\n            maxTotalSockets: undefined,\n            totalSocketCount: 0,\n            Symbol(kCapture): false\n        },\n        ClientRequest: [Circular: *3],\n        OutgoingMessage: [Circular: *22],\n        WebSocket: [Circular: *69],\n        CloseEvent: [Circular: *4],\n        MessageEvent: [Circular: *21]\n    },\n    get: [Circular: *73],\n    globalAgent: [Circular: *77],\n    maxHeaderSize: 16384,\n    request: [Circular: *72],\n    setMaxIdleHTTPParsers: [Circular: *76],\n    validateHeaderName: [Circular: *74],\n    validateHeaderValue: [Circular: *75]\n}\n```\n\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\t\t\t\u003c/details\u003e\n\n\u003cdetails\u003e\n\t\t\t\t\u003csummary\u003e\u003ccode\u003e_http_incoming\u003c/code\u003e\u003c/summary\u003e\n\t\t\t\t\u003cbr\u003e\n\n\u003ctable\u003e\u003ctr\u003e\u003cth\u003eNode.js\u003c/th\u003e\u003cth\u003eBun\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n[Object: null prototype] {\n    IncomingMessage: \u003cref *2\u003e ƒ IncomingMessage(length: 1) {},\n    default: {\n        IncomingMessage: [Circular: *2],\n        readStart: \u003cref *4\u003e ƒ readStart(length: 1) {},\n        readStop: \u003cref *5\u003e ƒ readStop(length: 1) {}\n    },\n    readStart: [Circular: *4],\n    readStop: [Circular: *5]\n}\n```\n\n\u003c/td\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n{\n    Agent: \u003cref *2\u003e ƒ Agent(length: 0) {},\n    ClientRequest: \u003cref *3\u003e class ClientRequest extends OutgoingMessage {},\n    CloseEvent: \u003cref *4\u003e ƒ CloseEvent(length: 1) {},\n    IncomingMessage: \u003cref *5\u003e ƒ IncomingMessage(length: 2) {\n        prototype: IncomingMessage {\n            constructor: [Circular: *5],\n            _construct: ƒ _construct(length: 1) {},\n            _read: ƒ _read(length: 1) {},\n            _destroy: ƒ _destroy(length: 2) {},\n            [get/set] aborted: undefined,\n            [get/set] connection: \u003cref *10\u003e Socket {\n                _events: {\n                    close: undefined,\n                    error: undefined,\n                    prefinish: undefined,\n                    finish: undefined,\n                    drain: undefined,\n                    data: undefined,\n                    end: undefined,\n                    readable: undefined\n                },\n                _readableState: {\n                    highWaterMark: 65536,\n                    buffer: [],\n                    bufferIndex: 0,\n                    length: 0,\n                    pipes: [],\n                    awaitDrainWriters: null,\n                    Symbol(kState): 1052940\n                },\n                _writableState: {\n                    highWaterMark: 65536,\n                    length: 0,\n                    corked: 0,\n                    onwrite: ƒ bound onwrite(length: 1) {},\n                    writelen: 0,\n                    bufferedIndex: 0,\n                    pendingcb: 0,\n                    Symbol(kState): 17580812,\n                    Symbol(kBufferedValue): null\n                },\n                allowHalfOpen: true,\n                _maxListeners: undefined,\n                bytesRead: 0,\n                bytesWritten: 0,\n                connecting: false,\n                timeout: 0,\n                isServer: false,\n                Symbol(kCapture): false,\n                Symbol(::bunternal::): undefined\n            },\n            statusCode: [Error accessing: undefined is not an object (evaluating 'reqSymbol')],\n            statusMessage: [Error accessing: undefined is not an object (evaluating 'STATUS_CODES')],\n            [get/set] httpVersion: \"1.1\",\n            [get/set] httpVersionMajor: 1,\n            [get/set] httpVersionMinor: 1,\n            [get/set] rawTrailers: [],\n            [get/set] trailers: [Object: null prototype] {},\n            setTimeout: ƒ setTimeout(length: 2) {},\n            [get/set] socket: [Circular: *10]\n        }\n    },\n    METHODS: \u003cref *20\u003e [\n        \"ACL\",\n        \"BIND\",\n        \"CHECKOUT\",\n        \"CONNECT\",\n        \"COPY\",\n        \"DELETE\",\n        \"GET\",\n        \"HEAD\",\n        \"LINK\",\n        \"LOCK\",\n        \"M-SEARCH\",\n        \"MERGE\",\n        \"MKACTIVITY\",\n        \"MKCALENDAR\",\n        \"MKCOL\",\n        \"MOVE\",\n        \"NOTIFY\",\n        \"OPTIONS\",\n        \"PATCH\",\n        \"POST\",\n        \"PROPFIND\",\n        \"PROPPATCH\",\n        \"PURGE\",\n        \"PUT\",\n        \"REBIND\",\n        \"REPORT\",\n        \"SEARCH\",\n        \"SOURCE\",\n        \"SUBSCRIBE\",\n        \"TRACE\",\n        \"UNBIND\",\n        \"UNLINK\",\n        \"UNLOCK\",\n        \"UNSUBSCRIBE\"\n    ],\n    MessageEvent: \u003cref *21\u003e ƒ MessageEvent(length: 1) {},\n    OutgoingMessage: \u003cref *22\u003e ƒ OutgoingMessage(length: 1) {\n        prototype: OutgoingMessage {\n            constructor: [Circular: *22],\n            _implicitHeader: ƒ (length: 0) {},\n            appendHeader: ƒ (length: 2) {},\n            flushHeaders: ƒ (length: 0) {},\n            getHeader: ƒ (length: 1) {},\n            getHeaders: ƒ (length: 0) {},\n            getHeaderNames: ƒ (length: 0) {},\n            removeHeader: ƒ (length: 1) {},\n            setHeader: ƒ (length: 2) {},\n            hasHeader: ƒ (length: 1) {},\n            addTrailers: ƒ (length: 1) {},\n            setTimeout: ƒ (length: 2) {}\n        }\n    },\n    STATUS_CODES: \u003cref *35\u003e {\n        100: \"Continue\",\n        101: \"Switching Protocols\",\n        102: \"Processing\",\n        103: \"Early Hints\",\n        200: \"OK\",\n        201: \"Created\",\n        202: \"Accepted\",\n        203: \"Non-Authoritative Information\",\n        204: \"No Content\",\n        205: \"Reset Content\",\n        206: \"Partial Content\",\n        207: \"Multi-Status\",\n        208: \"Already Reported\",\n        226: \"IM Used\",\n        300: \"Multiple Choices\",\n        301: \"Moved Permanently\",\n        302: \"Found\",\n        303: \"See Other\",\n        304: \"Not Modified\",\n        305: \"Use Proxy\",\n        307: \"Temporary Redirect\",\n        308: \"Permanent Redirect\",\n        400: \"Bad Request\",\n        401: \"Unauthorized\",\n        402: \"Payment Required\",\n        403: \"Forbidden\",\n        404: \"Not Found\",\n        405: \"Method Not Allowed\",\n        406: \"Not Acceptable\",\n        407: \"Proxy Authentication Required\",\n        408: \"Request Timeout\",\n        409: \"Conflict\",\n        410: \"Gone\",\n        411: \"Length Required\",\n        412: \"Precondition Failed\",\n        413: \"Payload Too Large\",\n        414: \"URI Too Long\",\n        415: \"Unsupported Media Type\",\n        416: \"Range Not Satisfiable\",\n        417: \"Expectation Failed\",\n        418: \"I'm a Teapot\",\n        421: \"Misdirected Request\",\n        422: \"Unprocessable Entity\",\n        423: \"Locked\",\n        424: \"Failed Dependency\",\n        425: \"Too Early\",\n        426: \"Upgrade Required\",\n        428: \"Precondition Required\",\n        429: \"Too Many Requests\",\n        431: \"Request Header Fields Too Large\",\n        451: \"Unavailable For Legal Reasons\",\n        500: \"Internal Server Error\",\n        501: \"Not Implemented\",\n        502: \"Bad Gateway\",\n        503: \"Service Unavailable\",\n        504: \"Gateway Timeout\",\n        505: \"HTTP Version Not Supported\",\n        506: \"Variant Also Negotiates\",\n        507: \"Insufficient Storage\",\n        508: \"Loop Detected\",\n        509: \"Bandwidth Limit Exceeded\",\n        510: \"Not Extended\",\n        511: \"Network Authentication Required\"\n    },\n    Server: \u003cref *36\u003e ƒ Server(length: 2) {\n        prototype: Server {\n            ref: ƒ ref(length: 0) {},\n            unref: ƒ unref(length: 0) {},\n            closeAllConnections: ƒ closeAllConnections(length: 0) {},\n            closeIdleConnections: ƒ closeIdleConnections(length: 0) {},\n            close: ƒ close(length: 1) {},\n            address: ƒ address(length: 0) {},\n            listen: ƒ listen(length: 0) {},\n            setTimeout: ƒ setTimeout(length: 2) {},\n            constructor: [Circular: *36],\n            Symbol(Symbol.asyncDispose): ƒ [Symbol.asyncDispose](length: 0) {},\n            Symbol(kRealListen): ƒ [kRealListen](length: 6) {}\n        }\n    },\n    ServerResponse: \u003cref *48\u003e ƒ ServerResponse(length: 2) {\n        prototype: ServerResponse {\n            constructor: [Circular: *48],\n            _implicitHeader: ƒ (length: 0) {},\n            _write: ƒ (length: 3) {},\n            _writev: ƒ (length: 2) {},\n            _final: ƒ (length: 1) {},\n            writeProcessing: ƒ (length: 0) {},\n            addTrailers: ƒ (length: 1) {},\n            assignSocket: ƒ (length: 1) {},\n            detachSocket: ƒ (length: 1) {},\n            writeContinue: ƒ (length: 1) {},\n            setTimeout: ƒ (length: 2) {},\n            appendHeader: ƒ (length: 2) {},\n            flushHeaders: ƒ (length: 0) {},\n            getHeader: ƒ (length: 1) {},\n            getHeaders: ƒ (length: 0) {},\n            getHeaderNames: ƒ (length: 0) {},\n            removeHeader: ƒ (length: 1) {},\n            setHeader: ƒ (length: 2) {},\n            hasHeader: ƒ (length: 1) {},\n            writeHead: ƒ (length: 3) {}\n        }\n    },\n    WebSocket: \u003cref *69\u003e ƒ WebSocket(length: 1) {\n        CONNECTING: 0,\n        OPEN: 1,\n        CLOSING: 2,\n        CLOSED: 3\n    },\n    createServer: \u003cref *70\u003e ƒ createServer(length: 2) {},\n    default: {\n        Agent: [Circular: *2],\n        Server: [Circular: *36],\n        METHODS: [Circular: *20],\n        STATUS_CODES: [Circular: *35],\n        createServer: [Circular: *70],\n        ServerResponse: [Circular: *48],\n        IncomingMessage: [Circular: *5],\n        request: \u003cref *72\u003e ƒ request(length: 3) {},\n        get: \u003cref *73\u003e ƒ get(length: 3) {},\n        [get/set] maxHeaderSize: 16384,\n        validateHeaderName: \u003cref *74\u003e ƒ validateHeaderName(length: 2) {},\n        validateHeaderValue: \u003cref *75\u003e ƒ validateHeaderValue(length: 2) {},\n        setMaxIdleHTTPParsers: \u003cref *76\u003e ƒ setMaxIdleHTTPParsers(length: 1) {},\n        globalAgent: \u003cref *77\u003e Agent {\n            _events: [Object: null prototype] {},\n            _eventsCount: 0,\n            _maxListeners: undefined,\n            defaultPort: 80,\n            protocol: \"http:\",\n            options: {\n                path: null,\n                noDelay: true\n            },\n            requests: [Object: null prototype] {},\n            sockets: [Object: null prototype] {},\n            freeSockets: [Object: null prototype] {},\n            keepAliveMsecs: 1000,\n            keepAlive: false,\n            maxSockets: Infinity,\n            maxFreeSockets: 256,\n            scheduling: \"lifo\",\n            maxTotalSockets: undefined,\n            totalSocketCount: 0,\n            Symbol(kCapture): false\n        },\n        ClientRequest: [Circular: *3],\n        OutgoingMessage: [Circular: *22],\n        WebSocket: [Circular: *69],\n        CloseEvent: [Circular: *4],\n        MessageEvent: [Circular: *21]\n    },\n    get: [Circular: *73],\n    globalAgent: [Circular: *77],\n    maxHeaderSize: 16384,\n    request: [Circular: *72],\n    setMaxIdleHTTPParsers: [Circular: *76],\n    validateHeaderName: [Circular: *74],\n    validateHeaderValue: [Circular: *75]\n}\n```\n\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\t\t\t\u003c/details\u003e\n\n\u003cdetails\u003e\n\t\t\t\t\u003csummary\u003e\u003ccode\u003e_http_outgoing\u003c/code\u003e\u003c/summary\u003e\n\t\t\t\t\u003cbr\u003e\n\n\u003ctable\u003e\u003ctr\u003e\u003cth\u003eNode.js\u003c/th\u003e\u003cth\u003eBun\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n[Object: null prototype] {\n    OutgoingMessage: \u003cref *2\u003e ƒ OutgoingMessage(length: 1) {},\n    default: {\n        kHighWaterMark: Symbol(kHighWaterMark),\n        kUniqueHeaders: Symbol(kUniqueHeaders),\n        parseUniqueHeadersOption: \u003cref *4\u003e ƒ parseUniqueHeadersOption(length: 1) {},\n        validateHeaderName: \u003cref *5\u003e ƒ wrappedFn(length: 0) {\n            withoutStackTrace: ƒ (length: 2) {}\n        },\n        validateHeaderValue: \u003cref *7\u003e ƒ wrappedFn(length: 0) {\n            withoutStackTrace: ƒ (length: 2) {}\n        },\n        OutgoingMessage: [Circular: *2]\n    },\n    kHighWaterMark: Symbol(kHighWaterMark),\n    kUniqueHeaders: Symbol(kUniqueHeaders),\n    parseUniqueHeadersOption: [Circular: *4],\n    validateHeaderName: [Circular: *5],\n    validateHeaderValue: [Circular: *7]\n}\n```\n\n\u003c/td\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n{\n    Agent: \u003cref *2\u003e ƒ Agent(length: 0) {},\n    ClientRequest: \u003cref *3\u003e class ClientRequest extends OutgoingMessage {},\n    CloseEvent: \u003cref *4\u003e ƒ CloseEvent(length: 1) {},\n    IncomingMessage: \u003cref *5\u003e ƒ IncomingMessage(length: 2) {\n        prototype: IncomingMessage {\n            constructor: [Circular: *5],\n            _construct: ƒ _construct(length: 1) {},\n            _read: ƒ _read(length: 1) {},\n            _destroy: ƒ _destroy(length: 2) {},\n            [get/set] aborted: undefined,\n            [get/set] connection: \u003cref *10\u003e Socket {\n                _events: {\n                    close: undefined,\n                    error: undefined,\n                    prefinish: undefined,\n                    finish: undefined,\n                    drain: undefined,\n                    data: undefined,\n                    end: undefined,\n                    readable: undefined\n                },\n                _readableState: {\n                    highWaterMark: 65536,\n                    buffer: [],\n                    bufferIndex: 0,\n                    length: 0,\n                    pipes: [],\n                    awaitDrainWriters: null,\n                    Symbol(kState): 1052940\n                },\n                _writableState: {\n                    highWaterMark: 65536,\n                    length: 0,\n                    corked: 0,\n                    onwrite: ƒ bound onwrite(length: 1) {},\n                    writelen: 0,\n                    bufferedIndex: 0,\n                    pendingcb: 0,\n                    Symbol(kState): 17580812,\n                    Symbol(kBufferedValue): null\n                },\n                allowHalfOpen: true,\n                _maxListeners: undefined,\n                bytesRead: 0,\n                bytesWritten: 0,\n                connecting: false,\n                timeout: 0,\n                isServer: false,\n                Symbol(kCapture): false,\n                Symbol(::bunternal::): undefined\n            },\n            statusCode: [Error accessing: undefined is not an object (evaluating 'reqSymbol')],\n            statusMessage: [Error accessing: undefined is not an object (evaluating 'STATUS_CODES')],\n            [get/set] httpVersion: \"1.1\",\n            [get/set] httpVersionMajor: 1,\n            [get/set] httpVersionMinor: 1,\n            [get/set] rawTrailers: [],\n            [get/set] trailers: [Object: null prototype] {},\n            setTimeout: ƒ setTimeout(length: 2) {},\n            [get/set] socket: [Circular: *10]\n        }\n    },\n    METHODS: \u003cref *20\u003e [\n        \"ACL\",\n        \"BIND\",\n        \"CHECKOUT\",\n        \"CONNECT\",\n        \"COPY\",\n        \"DELETE\",\n        \"GET\",\n        \"HEAD\",\n        \"LINK\",\n        \"LOCK\",\n        \"M-SEARCH\",\n        \"MERGE\",\n        \"MKACTIVITY\",\n        \"MKCALENDAR\",\n        \"MKCOL\",\n        \"MOVE\",\n        \"NOTIFY\",\n        \"OPTIONS\",\n        \"PATCH\",\n        \"POST\",\n        \"PROPFIND\",\n        \"PROPPATCH\",\n        \"PURGE\",\n        \"PUT\",\n        \"REBIND\",\n        \"REPORT\",\n        \"SEARCH\",\n        \"SOURCE\",\n        \"SUBSCRIBE\",\n        \"TRACE\",\n        \"UNBIND\",\n        \"UNLINK\",\n        \"UNLOCK\",\n        \"UNSUBSCRIBE\"\n    ],\n    MessageEvent: \u003cref *21\u003e ƒ MessageEvent(length: 1) {},\n    OutgoingMessage: \u003cref *22\u003e ƒ OutgoingMessage(length: 1) {\n        prototype: OutgoingMessage {\n            constructor: [Circular: *22],\n            _implicitHeader: ƒ (length: 0) {},\n            appendHeader: ƒ (length: 2) {},\n            flushHeaders: ƒ (length: 0) {},\n            getHeader: ƒ (length: 1) {},\n            getHeaders: ƒ (length: 0) {},\n            getHeaderNames: ƒ (length: 0) {},\n            removeHeader: ƒ (length: 1) {},\n            setHeader: ƒ (length: 2) {},\n            hasHeader: ƒ (length: 1) {},\n            addTrailers: ƒ (length: 1) {},\n            setTimeout: ƒ (length: 2) {}\n        }\n    },\n    STATUS_CODES: \u003cref *35\u003e {\n        100: \"Continue\",\n        101: \"Switching Protocols\",\n        102: \"Processing\",\n        103: \"Early Hints\",\n        200: \"OK\",\n        201: \"Created\",\n        202: \"Accepted\",\n        203: \"Non-Authoritative Information\",\n        204: \"No Content\",\n        205: \"Reset Content\",\n        206: \"Partial Content\",\n        207: \"Multi-Status\",\n        208: \"Already Reported\",\n        226: \"IM Used\",\n        300: \"Multiple Choices\",\n        301: \"Moved Permanently\",\n        302: \"Found\",\n        303: \"See Other\",\n        304: \"Not Modified\",\n        305: \"Use Proxy\",\n        307: \"Temporary Redirect\",\n        308: \"Permanent Redirect\",\n        400: \"Bad Request\",\n        401: \"Unauthorized\",\n        402: \"Payment Required\",\n        403: \"Forbidden\",\n        404: \"Not Found\",\n        405: \"Method Not Allowed\",\n        406: \"Not Acceptable\",\n        407: \"Proxy Authentication Required\",\n        408: \"Request Timeout\",\n        409: \"Conflict\",\n        410: \"Gone\",\n        411: \"Length Required\",\n        412: \"Precondition Failed\",\n        413: \"Payload Too Large\",\n        414: \"URI Too Long\",\n        415: \"Unsupported Media Type\",\n        416: \"Range Not Satisfiable\",\n        417: \"Expectation Failed\",\n        418: \"I'm a Teapot\",\n        421: \"Misdirected Request\",\n        422: \"Unprocessable Entity\",\n        423: \"Locked\",\n        424: \"Failed Dependency\",\n        425: \"Too Early\",\n        426: \"Upgrade Required\",\n        428: \"Precondition Required\",\n        429: \"Too Many Requests\",\n        431: \"Request Header Fields Too Large\",\n        451: \"Unavailable For Legal Reasons\",\n        500: \"Internal Server Error\",\n        501: \"Not Implemented\",\n        502: \"Bad Gateway\",\n        503: \"Service Unavailable\",\n        504: \"Gateway Timeout\",\n        505: \"HTTP Version Not Supported\",\n        506: \"Variant Also Negotiates\",\n        507: \"Insufficient Storage\",\n        508: \"Loop Detected\",\n        509: \"Bandwidth Limit Exceeded\",\n        510: \"Not Extended\",\n        511: \"Network Authentication Required\"\n    },\n    Server: \u003cref *36\u003e ƒ Server(length: 2) {\n        prototype: Server {\n            ref: ƒ ref(length: 0) {},\n            unref: ƒ unref(length: 0) {},\n            closeAllConnections: ƒ closeAllConnections(length: 0) {},\n            closeIdleConnections: ƒ closeIdleConnections(length: 0) {},\n            close: ƒ close(length: 1) {},\n            address: ƒ address(length: 0) {},\n            listen: ƒ listen(length: 0) {},\n            setTimeout: ƒ setTimeout(length: 2) {},\n            constructor: [Circular: *36],\n            Symbol(Symbol.asyncDispose): ƒ [Symbol.asyncDispose](length: 0) {},\n            Symbol(kRealListen): ƒ [kRealListen](length: 6) {}\n        }\n    },\n    ServerResponse: \u003cref *48\u003e ƒ ServerResponse(length: 2) {\n        prototype: ServerResponse {\n            constructor: [Circular: *48],\n            _implicitHeader: ƒ (length: 0) {},\n            _write: ƒ (length: 3) {},\n            _writev: ƒ (length: 2) {},\n            _final: ƒ (length: 1) {},\n            writeProcessing: ƒ (length: 0) {},\n            addTrailers: ƒ (length: 1) {},\n            assignSocket: ƒ (length: 1) {},\n            detachSocket: ƒ (length: 1) {},\n            writeContinue: ƒ (length: 1) {},\n            setTimeout: ƒ (length: 2) {},\n            appendHeader: ƒ (length: 2) {},\n            flushHeaders: ƒ (length: 0) {},\n            getHeader: ƒ (length: 1) {},\n            getHeaders: ƒ (length: 0) {},\n            getHeaderNames: ƒ (length: 0) {},\n            removeHeader: ƒ (length: 1) {},\n            setHeader: ƒ (length: 2) {},\n            hasHeader: ƒ (length: 1) {},\n            writeHead: ƒ (length: 3) {}\n        }\n    },\n    WebSocket: \u003cref *69\u003e ƒ WebSocket(length: 1) {\n        CONNECTING: 0,\n        OPEN: 1,\n        CLOSING: 2,\n        CLOSED: 3\n    },\n    createServer: \u003cref *70\u003e ƒ createServer(length: 2) {},\n    default: {\n        Agent: [Circular: *2],\n        Server: [Circular: *36],\n        METHODS: [Circular: *20],\n        STATUS_CODES: [Circular: *35],\n        createServer: [Circular: *70],\n        ServerResponse: [Circular: *48],\n        IncomingMessage: [Circular: *5],\n        request: \u003cref *72\u003e ƒ request(length: 3) {},\n        get: \u003cref *73\u003e ƒ get(length: 3) {},\n        [get/set] maxHeaderSize: 16384,\n        validateHeaderName: \u003cref *74\u003e ƒ validateHeaderName(length: 2) {},\n        validateHeaderValue: \u003cref *75\u003e ƒ validateHeaderValue(length: 2) {},\n        setMaxIdleHTTPParsers: \u003cref *76\u003e ƒ setMaxIdleHTTPParsers(length: 1) {},\n        globalAgent: \u003cref *77\u003e Agent {\n            _events: [Object: null prototype] {},\n            _eventsCount: 0,\n            _maxListeners: undefined,\n            defaultPort: 80,\n            protocol: \"http:\",\n            options: {\n                path: null,\n                noDelay: true\n            },\n            requests: [Object: null prototype] {},\n            sockets: [Object: null prototype] {},\n            freeSockets: [Object: null prototype] {},\n            keepAliveMsecs: 1000,\n            keepAlive: false,\n            maxSockets: Infinity,\n            maxFreeSockets: 256,\n            scheduling: \"lifo\",\n            maxTotalSockets: undefined,\n            totalSocketCount: 0,\n            Symbol(kCapture): false\n        },\n        ClientRequest: [Circular: *3],\n        OutgoingMessage: [Circular: *22],\n        WebSocket: [Circular: *69],\n        CloseEvent: [Circular: *4],\n        MessageEvent: [Circular: *21]\n    },\n    get: [Circular: *73],\n    globalAgent: [Circular: *77],\n    maxHeaderSize: 16384,\n    request: [Circular: *72],\n    setMaxIdleHTTPParsers: [Circular: *76],\n    validateHeaderName: [Circular: *74],\n    validateHeaderValue: [Circular: *75]\n}\n```\n\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\t\t\t\u003c/details\u003e\n\n\u003cdetails\u003e\n\t\t\t\t\u003csummary\u003e\u003ccode\u003e_http_server\u003c/code\u003e\u003c/summary\u003e\n\t\t\t\t\u003cbr\u003e\n\n\u003ctable\u003e\u003ctr\u003e\u003cth\u003eNode.js\u003c/th\u003e\u003cth\u003eBun\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n[Object: null prototype] {\n    STATUS_CODES: \u003cref *2\u003e {\n        100: \"Continue\",\n        101: \"Switching Protocols\",\n        102: \"Processing\",\n        103: \"Early Hints\",\n        200: \"OK\",\n        201: \"Created\",\n        202: \"Accepted\",\n        203: \"Non-Authoritative Information\",\n        204: \"No Content\",\n        205: \"Reset Content\",\n        206: \"Partial Content\",\n        207: \"Multi-Status\",\n        208: \"Already Reported\",\n        226: \"IM Used\",\n        300: \"Multiple Choices\",\n        301: \"Moved Permanently\",\n        302: \"Found\",\n        303: \"See Other\",\n        304: \"Not Modified\",\n        305: \"Use Proxy\",\n        307: \"Temporary Redirect\",\n        308: \"Permanent Redirect\",\n        400: \"Bad Request\",\n        401: \"Unauthorized\",\n        402: \"Payment Required\",\n        403: \"Forbidden\",\n        404: \"Not Found\",\n        405: \"Method Not Allowed\",\n        406: \"Not Acceptable\",\n        407: \"Proxy Authentication Required\",\n        408: \"Request Timeout\",\n        409: \"Conflict\",\n        410: \"Gone\",\n        411: \"Length Required\",\n        412: \"Precondition Failed\",\n        413: \"Payload Too Large\",\n        414: \"URI Too Long\",\n        415: \"Unsupported Media Type\",\n        416: \"Range Not Satisfiable\",\n        417: \"Expectation Failed\",\n        418: \"I'm a Teapot\",\n        421: \"Misdirected Request\",\n        422: \"Unprocessable Entity\",\n        423: \"Locked\",\n        424: \"Failed Dependency\",\n        425: \"Too Early\",\n        426: \"Upgrade Required\",\n        428: \"Precondition Required\",\n        429: \"Too Many Requests\",\n        431: \"Request Header Fields Too Large\",\n        451: \"Unavailable For Legal Reasons\",\n        500: \"Internal Server Error\",\n        501: \"Not Implemented\",\n        502: \"Bad Gateway\",\n        503: \"Service Unavailable\",\n        504: \"Gateway Timeout\",\n        505: \"HTTP Version Not Supported\",\n        506: \"Variant Also Negotiates\",\n        507: \"Insufficient Storage\",\n        508: \"Loop Detected\",\n        509: \"Bandwidth Limit Exceeded\",\n        510: \"Not Extended\",\n        511: \"Network Authentication Required\"\n    },\n    Server: \u003cref *3\u003e ƒ Server(length: 2) {},\n    ServerResponse: \u003cref *4\u003e ƒ ServerResponse(length: 2) {},\n    _connectionListener: \u003cref *5\u003e ƒ connectionListener(length: 1) {},\n    default: {\n        STATUS_CODES: [Circular: *2],\n        Server: [Circular: *3],\n        ServerResponse: [Circular: *4],\n        setupConnectionsTracking: \u003cref *7\u003e ƒ setupConnectionsTracking(length: 0) {},\n        storeHTTPOptions: \u003cref *8\u003e ƒ storeHTTPOptions(length: 1) {},\n        _connectionListener: [Circular: *5],\n        kServerResponse: Symbol(ServerResponse),\n        httpServerPreClose: \u003cref *9\u003e ƒ httpServerPreClose(length: 1) {},\n        kConnectionsCheckingInterval: Symbol(http.server.connectionsCheckingInterval)\n    },\n    httpServerPreClose: [Circular: *9],\n    kConnectionsCheckingInterval: Symbol(http.server.connectionsCheckingInterval),\n    kServerResponse: Symbol(ServerResponse),\n    setupConnectionsTracking: [Circular: *7],\n    storeHTTPOptions: [Circular: *8]\n}\n```\n\n\u003c/td\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n{\n    Agent: \u003cref *2\u003e ƒ Agent(length: 0) {},\n    ClientRequest: \u003cref *3\u003e class ClientRequest extends OutgoingMessage {},\n    CloseEvent: \u003cref *4\u003e ƒ CloseEvent(length: 1) {},\n    IncomingMessage: \u003cref *5\u003e ƒ IncomingMessage(length: 2) {\n        prototype: IncomingMessage {\n            constructor: [Circular: *5],\n            _construct: ƒ _construct(length: 1) {},\n            _read: ƒ _read(length: 1) {},\n            _destroy: ƒ _destroy(length: 2) {},\n            [get/set] aborted: undefined,\n            [get/set] connection: \u003cref *10\u003e Socket {\n                _events: {\n                    close: undefined,\n                    error: undefined,\n                    prefinish: undefined,\n                    finish: undefined,\n                    drain: undefined,\n                    data: undefined,\n                    end: undefined,\n                    readable: undefined\n                },\n                _readableState: {\n                    highWaterMark: 65536,\n                    buffer: [],\n                    bufferIndex: 0,\n                    length: 0,\n                    pipes: [],\n                    awaitDrainWriters: null,\n                    Symbol(kState): 1052940\n                },\n                _writableState: {\n                    highWaterMark: 65536,\n                    length: 0,\n                    corked: 0,\n                    onwrite: ƒ bound onwrite(length: 1) {},\n                    writelen: 0,\n                    bufferedIndex: 0,\n                    pendingcb: 0,\n                    Symbol(kState): 17580812,\n                    Symbol(kBufferedValue): null\n                },\n                allowHalfOpen: true,\n                _maxListeners: undefined,\n                bytesRead: 0,\n                bytesWritten: 0,\n                connecting: false,\n                timeout: 0,\n                isServer: false,\n                Symbol(kCapture): false,\n                Symbol(::bunternal::): undefined\n            },\n            statusCode: [Error accessing: undefined is not an object (evaluating 'reqSymbol')],\n            statusMessage: [Error accessing: undefined is not an object (evaluating 'STATUS_CODES')],\n            [get/set] httpVersion: \"1.1\",\n            [get/set] httpVersionMajor: 1,\n            [get/set] httpVersionMinor: 1,\n            [get/set] rawTrailers: [],\n            [get/set] trailers: [Object: null prototype] {},\n            setTimeout: ƒ setTimeout(length: 2) {},\n            [get/set] socket: [Circular: *10]\n        }\n    },\n    METHODS: \u003cref *20\u003e [\n        \"ACL\",\n        \"BIND\",\n        \"CHECKOUT\",\n        \"CONNECT\",\n        \"COPY\",\n        \"DELETE\",\n        \"GET\",\n        \"HEAD\",\n        \"LINK\",\n        \"LOCK\",\n        \"M-SEARCH\",\n        \"MERGE\",\n        \"MKACTIVITY\",\n        \"MKCALENDAR\",\n        \"MKCOL\",\n        \"MOVE\",\n        \"NOTIFY\",\n        \"OPTIONS\",\n        \"PATCH\",\n        \"POST\",\n        \"PROPFIND\",\n        \"PROPPATCH\",\n        \"PURGE\",\n        \"PUT\",\n        \"REBIND\",\n        \"REPORT\",\n        \"SEARCH\",\n        \"SOURCE\",\n        \"SUBSCRIBE\",\n        \"TRACE\",\n        \"UNBIND\",\n        \"UNLINK\",\n        \"UNLOCK\",\n        \"UNSUBSCRIBE\"\n    ],\n    MessageEvent: \u003cref *21\u003e ƒ MessageEvent(length: 1) {},\n    OutgoingMessage: \u003cref *22\u003e ƒ OutgoingMessage(length: 1) {\n        prototype: OutgoingMessage {\n            constructor: [Circular: *22],\n            _implicitHeader: ƒ (length: 0) {},\n            appendHeader: ƒ (length: 2) {},\n            flushHeaders: ƒ (length: 0) {},\n            getHeader: ƒ (length: 1) {},\n            getHeaders: ƒ (length: 0) {},\n            getHeaderNames: ƒ (length: 0) {},\n            removeHeader: ƒ (length: 1) {},\n            setHeader: ƒ (length: 2) {},\n            hasHeader: ƒ (length: 1) {},\n            addTrailers: ƒ (length: 1) {},\n            setTimeout: ƒ (length: 2) {}\n        }\n    },\n    STATUS_CODES: \u003cref *35\u003e {\n        100: \"Continue\",\n        101: \"Switching Protocols\",\n        102: \"Processing\",\n        103: \"Early Hints\",\n        200: \"OK\",\n        201: \"Created\",\n        202: \"Accepted\",\n        203: \"Non-Authoritative Information\",\n        204: \"No Content\",\n        205: \"Reset Content\",\n        206: \"Partial Content\",\n        207: \"Multi-Status\",\n        208: \"Already Reported\",\n        226: \"IM Used\",\n        300: \"Multiple Choices\",\n        301: \"Moved Permanently\",\n        302: \"Found\",\n        303: \"See Other\",\n        304: \"Not Modified\",\n        305: \"Use Proxy\",\n        307: \"Temporary Redirect\",\n        308: \"Permanent Redirect\",\n        400: \"Bad Request\",\n        401: \"Unauthorized\",\n        402: \"Payment Required\",\n        403: \"Forbidden\",\n        404: \"Not Found\",\n        405: \"Method Not Allowed\",\n        406: \"Not Acceptable\",\n        407: \"Proxy Authentication Required\",\n        408: \"Request Timeout\",\n        409: \"Conflict\",\n        410: \"Gone\",\n        411: \"Length Required\",\n        412: \"Precondition Failed\",\n        413: \"Payload Too Large\",\n        414: \"URI Too Long\",\n        415: \"Unsupported Media Type\",\n        416: \"Range Not Satisfiable\",\n        417: \"Expectation Failed\",\n        418: \"I'm a Teapot\",\n        421: \"Misdirected Request\",\n        422: \"Unprocessable Entity\",\n        423: \"Locked\",\n        424: \"Failed Dependency\",\n        425: \"Too Early\",\n        426: \"Upgrade Required\",\n        428: \"Precondition Required\",\n        429: \"Too Many Requests\",\n        431: \"Request Header Fields Too Large\",\n        451: \"Unavailable For Legal Reasons\",\n        500: \"Internal Server Error\",\n        501: \"Not Implemented\",\n        502: \"Bad Gateway\",\n        503: \"Service Unavailable\",\n        504: \"Gateway Timeout\",\n        505: \"HTTP Version Not Supported\",\n        506: \"Variant Also Negotiates\",\n        507: \"Insufficient Storage\",\n        508: \"Loop Detected\",\n        509: \"Bandwidth Limit Exceeded\",\n        510: \"Not Extended\",\n        511: \"Network Authentication Required\"\n    },\n    Server: \u003cref *36\u003e ƒ Server(length: 2) {\n        prototype: Server {\n            ref: ƒ ref(length: 0) {},\n            unref: ƒ unref(length: 0) {},\n            closeAllConnections: ƒ closeAllConnections(length: 0) {},\n            closeIdleConnections: ƒ closeIdleConnections(length: 0) {},\n            close: ƒ close(length: 1) {},\n            address: ƒ address(length: 0) {},\n            listen: ƒ listen(length: 0) {},\n            setTimeout: ƒ setTimeout(length: 2) {},\n            constructor: [Circular: *36],\n            Symbol(Symbol.asyncDispose): ƒ [Symbol.asyncDispose](length: 0) {},\n            Symbol(kRealListen): ƒ [kRealListen](length: 6) {}\n        }\n    },\n    ServerResponse: \u003cref *48\u003e ƒ ServerResponse(length: 2) {\n        prototype: ServerResponse {\n            constructor: [Circular: *48],\n            _implicitHeader: ƒ (length: 0) {},\n            _write: ƒ (length: 3) {},\n            _writev: ƒ (length: 2) {},\n            _final: ƒ (length: 1) {},\n            writeProcessing: ƒ (length: 0) {},\n            addTrailers: ƒ (length: 1) {},\n            assignSocket: ƒ (length: 1) {},\n            detachSocket: ƒ (length: 1) {},\n            writeContinue: ƒ (length: 1) {},\n            setTimeout: ƒ (length: 2) {},\n            appendHeader: ƒ (length: 2) {},\n            flushHeaders: ƒ (length: 0) {},\n            getHeader: ƒ (length: 1) {},\n            getHeaders: ƒ (length: 0) {},\n            getHeaderNames: ƒ (length: 0) {},\n            removeHeader: ƒ (length: 1) {},\n            setHeader: ƒ (length: 2) {},\n            hasHeader: ƒ (length: 1) {},\n            writeHead: ƒ (length: 3) {}\n        }\n    },\n    WebSocket: \u003cref *69\u003e ƒ WebSocket(length: 1) {\n        CONNECTING: 0,\n        OPEN: 1,\n        CLOSING: 2,\n        CLOSED: 3\n    },\n    createServer: \u003cref *70\u003e ƒ createServer(length: 2) {},\n    default: {\n        Agent: [Circular: *2],\n        Server: [Circular: *36],\n        METHODS: [Circular: *20],\n        STATUS_CODES: [Circular: *35],\n        createServer: [Circular: *70],\n        ServerResponse: [Circular: *48],\n        IncomingMessage: [Circular: *5],\n        request: \u003cref *72\u003e ƒ request(length: 3) {},\n        get: \u003cref *73\u003e ƒ get(length: 3) {},\n        [get/set] maxHeaderSize: 16384,\n        validateHeaderName: \u003cref *74\u003e ƒ validateHeaderName(length: 2) {},\n        validateHeaderValue: \u003cref *75\u003e ƒ validateHeaderValue(length: 2) {},\n        setMaxIdleHTTPParsers: \u003cref *76\u003e ƒ setMaxIdleHTTPParsers(length: 1) {},\n        globalAgent: \u003cref *77\u003e Agent {\n            _events: [Object: null prototype] {},\n            _eventsCount: 0,\n            _maxListeners: undefined,\n            defaultPort: 80,\n            protocol: \"http:\",\n            options: {\n                path: null,\n                noDelay: true\n            },\n            requests: [Object: null prototype] {},\n            sockets: [Object: null prototype] {},\n            freeSockets: [Object: null prototype] {},\n            keepAliveMsecs: 1000,\n            keepAlive: false,\n            maxSockets: Infinity,\n            maxFreeSockets: 256,\n            scheduling: \"lifo\",\n            maxTotalSockets: undefined,\n            totalSocketCount: 0,\n            Symbol(kCapture): false\n        },\n        ClientRequest: [Circular: *3],\n        OutgoingMessage: [Circular: *22],\n        WebSocket: [Circular: *69],\n        CloseEvent: [Circular: *4],\n        MessageEvent: [Circular: *21]\n    },\n    get: [Circular: *73],\n    globalAgent: [Circular: *77],\n    maxHeaderSize: 16384,\n    request: [Circular: *72],\n    setMaxIdleHTTPParsers: [Circular: *76],\n    validateHeaderName: [Circular: *74],\n    validateHeaderValue: [Circular: *75]\n}\n```\n\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\t\t\t\u003c/details\u003e\n\n\u003cdetails\u003e\n\t\t\t\t\u003csummary\u003e\u003ccode\u003e_stream_duplex\u003c/code\u003e\u003c/summary\u003e\n\t\t\t\t\u003cbr\u003e\n\n\u003ctable\u003e\u003ctr\u003e\u003cth\u003eNode.js\u003c/th\u003e\u003cth\u003eBun\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n[Object: null prototype] {\n    default: ƒ Duplex(length: 1) {\n        fromWeb: \u003cref *3\u003e ƒ (length: 2) {},\n        toWeb: \u003cref *4\u003e ƒ (length: 1) {},\n        from: \u003cref *5\u003e ƒ (length: 1) {}\n    },\n    from: [Circular: *5],\n    fromWeb: [Circular: *3],\n    toWeb: [Circular: *4]\n}\n```\n\n\u003c/td\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n{\n    EventEmitter: \u003cref *2\u003e ƒ EventEmitter(length: 1) {\n        prototype: EventEmitter {\n            setMaxListeners: ƒ setMaxListeners(length: 1) {},\n            constructor: [Circular: *2],\n            getMaxListeners: ƒ getMaxListeners(length: 0) {},\n            emit: ƒ emit(length: 1) {},\n            addListener: \u003cref *7\u003e ƒ addListener(length: 2) {},\n            on: [Circular: *7],\n            prependListener: ƒ prependListener(length: 2) {},\n            once: ƒ once(length: 2) {},\n            prependOnceListener: ƒ prependOnceListener(length: 2) {},\n            removeListener: \u003cref *11\u003e ƒ removeListener(length: 2) {},\n            off: [Circular: *11],\n            removeAllListeners: ƒ removeAllListeners(length: 1) {},\n            listeners: ƒ listeners(length: 1) {},\n            rawListeners: ƒ rawListeners(length: 1) {},\n            listenerCount: ƒ listenerCount(length: 2) {},\n            eventNames: ƒ eventNames(length: 0) {},\n            Symbol(kCapture): false\n        },\n        [get/set] captureRejections: false,\n        [get/set] defaultMaxListeners: 10,\n        once: \u003cref *17\u003e ƒ once(length: 2) {},\n        on: \u003cref *18\u003e ƒ on(length: 2) {},\n        getEventListeners: \u003cref *19\u003e ƒ getEventListeners(length: 2) {},\n        getMaxListeners: \u003cref *20\u003e ƒ getMaxListeners(length: 1) {},\n        setMaxListeners: \u003cref *21\u003e ƒ setMaxListeners(length: 0) {},\n        EventEmitter: [Circular: *2],\n        usingDomains: false,\n        captureRejectionSymbol: Symbol(nodejs.rejection),\n        EventEmitterAsyncResource: \u003cref *22\u003e class EventEmitterAsyncResource extends EventEmitter {},\n        errorMonitor: Symbol(events.errorMonitor),\n        addAbortListener: \u003cref *23\u003e ƒ addAbortListener(length: 2) {},\n        init: [Circular: *2],\n        listenerCount: \u003cref *24\u003e ƒ listenerCount(length: 2) {}\n    },\n    EventEmitterAsyncResource: [Circular: *22],\n    ReadableState: ƒ ReadableState(length: 3) {\n        prototype: {\n            Symbol(kOnConstructed): ƒ onConstructed(length: 1) {}\n        }\n    },\n    _fromList: ƒ fromList(length: 2) {},\n    addAbortListener: [Circular: *23],\n    captureRejectionSymbol: Symbol(nodejs.rejection),\n    captureRejections: false,\n    default: ƒ Duplex(length: 1) {\n        fromWeb: \u003cref *30\u003e ƒ (length: 2) {},\n        toWeb: \u003cref *31\u003e ƒ (length: 1) {},\n        from: \u003cref *32\u003e ƒ (length: 1) {}\n    },\n    defaultMaxListeners: 10,\n    errorMonitor: Symbol(events.errorMonitor),\n    from: [Circular: *32],\n    fromWeb: [Circular: *30],\n    getEventListeners: [Circular: *19],\n    getMaxListeners: [Circular: *20],\n    init: [Circular: *2],\n    listenerCount: [Circular: *24],\n    on: [Circular: *18],\n    once: [Circular: *17],\n    prototype: Duplex {\n        destroy: ƒ (length: 2) {},\n        write: ƒ (length: 3) {},\n        cork: ƒ (length: 0) {},\n        uncork: ƒ (length: 0) {},\n        setDefaultEncoding: ƒ setDefaultEncoding(length: 1) {},\n        _write: ƒ (length: 3) {},\n        _writev: null,\n        end: ƒ (length: 3) {}\n    },\n    setMaxListeners: [Circular: *21],\n    toWeb: [Circular: *31],\n    usingDomains: false,\n    wrap: ƒ (length: 2) {}\n}\n```\n\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\t\t\t\u003c/details\u003e\n\n\u003cdetails\u003e\n\t\t\t\t\u003csummary\u003e\u003ccode\u003e_stream_passthrough\u003c/code\u003e\u003c/summary\u003e\n\t\t\t\t\u003cbr\u003e\n\n\u003ctable\u003e\u003ctr\u003e\u003cth\u003eNode.js\u003c/th\u003e\u003cth\u003eBun\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n[Object: null prototype] {\n    default: ƒ PassThrough(length: 1) {}\n}\n```\n\n\u003c/td\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n{\n    EventEmitter: \u003cref *2\u003e ƒ EventEmitter(length: 1) {\n        prototype: EventEmitter {\n            setMaxListeners: ƒ setMaxListeners(length: 1) {},\n            constructor: [Circular: *2],\n            getMaxListeners: ƒ getMaxListeners(length: 0) {},\n            emit: ƒ emit(length: 1) {},\n            addListener: \u003cref *7\u003e ƒ addListener(length: 2) {},\n            on: [Circular: *7],\n            prependListener: ƒ prependListener(length: 2) {},\n            once: ƒ once(length: 2) {},\n            prependOnceListener: ƒ prependOnceListener(length: 2) {},\n            removeListener: \u003cref *11\u003e ƒ removeListener(length: 2) {},\n            off: [Circular: *11],\n            removeAllListeners: ƒ removeAllListeners(length: 1) {},\n            listeners: ƒ listeners(length: 1) {},\n            rawListeners: ƒ rawListeners(length: 1) {},\n            listenerCount: ƒ listenerCount(length: 2) {},\n            eventNames: ƒ eventNames(length: 0) {},\n            Symbol(kCapture): false\n        },\n        [get/set] captureRejections: false,\n        [get/set] defaultMaxListeners: 10,\n        once: \u003cref *17\u003e ƒ once(length: 2) {},\n        on: \u003cref *18\u003e ƒ on(length: 2) {},\n        getEventListeners: \u003cref *19\u003e ƒ getEventListeners(length: 2) {},\n        getMaxListeners: \u003cref *20\u003e ƒ getMaxListeners(length: 1) {},\n        setMaxListeners: \u003cref *21\u003e ƒ setMaxListeners(length: 0) {},\n        EventEmitter: [Circular: *2],\n        usingDomains: false,\n        captureRejectionSymbol: Symbol(nodejs.rejection),\n        EventEmitterAsyncResource: \u003cref *22\u003e class EventEmitterAsyncResource extends EventEmitter {},\n        errorMonitor: Symbol(events.errorMonitor),\n        addAbortListener: \u003cref *23\u003e ƒ addAbortListener(length: 2) {},\n        init: [Circular: *2],\n        listenerCount: \u003cref *24\u003e ƒ listenerCount(length: 2) {}\n    },\n    EventEmitterAsyncResource: [Circular: *22],\n    ReadableState: ƒ ReadableState(length: 3) {\n        prototype: {\n            Symbol(kOnConstructed): ƒ onConstructed(length: 1) {}\n        }\n    },\n    _fromList: ƒ fromList(length: 2) {},\n    addAbortListener: [Circular: *23],\n    captureRejectionSymbol: Symbol(nodejs.rejection),\n    captureRejections: false,\n    default: ƒ PassThrough(length: 1) {},\n    defaultMaxListeners: 10,\n    errorMonitor: Symbol(events.errorMonitor),\n    from: ƒ (length: 1) {},\n    fromWeb: ƒ (length: 2) {},\n    getEventListeners: [Circular: *19],\n    getMaxListeners: [Circular: *20],\n    init: [Circular: *2],\n    listenerCount: [Circular: *24],\n    on: [Circular: *18],\n    once: [Circular: *17],\n    prototype: PassThrough {\n        _transform: ƒ (length: 3) {}\n    },\n    setMaxListeners: [Circular: *21],\n    toWeb: ƒ (length: 1) {},\n    usingDomains: false,\n    wrap: ƒ (length: 2) {}\n}\n```\n\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\t\t\t\u003c/details\u003e\n\n\u003cdetails\u003e\n\t\t\t\t\u003csummary\u003e\u003ccode\u003e_stream_readable\u003c/code\u003e\u003c/summary\u003e\n\t\t\t\t\u003cbr\u003e\n\n\u003ctable\u003e\u003ctr\u003e\u003cth\u003eNode.js\u003c/th\u003e\u003cth\u003eBun\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n[Object: null prototype] {\n    ReadableState: \u003cref *2\u003e ƒ ReadableState(length: 3) {},\n    _fromList: \u003cref *3\u003e ƒ fromList(length: 2) {},\n    default: ƒ Readable(length: 1) {\n        ReadableState: [Circular: *2],\n        _fromList: [Circular: *3],\n        from: \u003cref *5\u003e ƒ (length: 2) {},\n        fromWeb: \u003cref *6\u003e ƒ (length: 2) {},\n        toWeb: \u003cref *7\u003e ƒ (length: 2) {},\n        wrap: \u003cref *8\u003e ƒ (length: 2) {}\n    },\n    from: [Circular: *5],\n    fromWeb: [Circular: *6],\n    toWeb: [Circular: *7],\n    wrap: [Circular: *8]\n}\n```\n\n\u003c/td\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n{\n    EventEmitter: \u003cref *2\u003e ƒ EventEmitter(length: 1) {\n        prototype: EventEmitter {\n            setMaxListeners: ƒ setMaxListeners(length: 1) {},\n            constructor: [Circular: *2],\n            getMaxListeners: ƒ getMaxListeners(length: 0) {},\n            emit: ƒ emit(length: 1) {},\n            addListener: \u003cref *7\u003e ƒ addListener(length: 2) {},\n            on: [Circular: *7],\n            prependListener: ƒ prependListener(length: 2) {},\n            once: ƒ once(length: 2) {},\n            prependOnceListener: ƒ prependOnceListener(length: 2) {},\n            removeListener: \u003cref *11\u003e ƒ removeListener(length: 2) {},\n            off: [Circular: *11],\n            removeAllListeners: ƒ removeAllListeners(length: 1) {},\n            listeners: ƒ listeners(length: 1) {},\n            rawListeners: ƒ rawListeners(length: 1) {},\n            listenerCount: ƒ listenerCount(length: 2) {},\n            eventNames: ƒ eventNames(length: 0) {},\n            Symbol(kCapture): false\n        },\n        [get/set] captureRejections: false,\n        [get/set] defaultMaxListeners: 10,\n        once: \u003cref *17\u003e ƒ once(length: 2) {},\n        on: \u003cref *18\u003e ƒ on(length: 2) {},\n        getEventListeners: \u003cref *19\u003e ƒ getEventListeners(length: 2) {},\n        getMaxListeners: \u003cref *20\u003e ƒ getMaxListeners(length: 1) {},\n        setMaxListeners: \u003cref *21\u003e ƒ setMaxListeners(length: 0) {},\n        EventEmitter: [Circular: *2],\n        usingDomains: false,\n        captureRejectionSymbol: Symbol(nodejs.rejection),\n        EventEmitterAsyncResource: \u003cref *22\u003e class EventEmitterAsyncResource extends EventEmitter {},\n        errorMonitor: Symbol(events.errorMonitor),\n        addAbortListener: \u003cref *23\u003e ƒ addAbortListener(length: 2) {},\n        init: [Circular: *2],\n        listenerCount: \u003cref *24\u003e ƒ listenerCount(length: 2) {}\n    },\n    EventEmitterAsyncResource: [Circular: *22],\n    ReadableState: \u003cref *25\u003e ƒ ReadableState(length: 3) {\n        prototype: {\n            Symbol(kOnConstructed): ƒ onConstructed(length: 1) {}\n        }\n    },\n    _fromList: \u003cref *28\u003e ƒ fromList(length: 2) {},\n    addAbortListener: [Circular: *23],\n    captureRejectionSymbol: Symbol(nodejs.rejection),\n    captureRejections: false,\n    default: ƒ Readable(length: 1) {\n        ReadableState: [Circular: *25],\n        _fromList: [Circular: *28],\n        from: \u003cref *30\u003e ƒ (length: 2) {},\n        fromWeb: \u003cref *31\u003e ƒ (length: 2) {},\n        toWeb: \u003cref *32\u003e ƒ (length: 2) {},\n        wrap: \u003cref *33\u003e ƒ (length: 2) {}\n    },\n    defaultMaxListeners: 10,\n    errorMonitor: Symbol(events.errorMonitor),\n    from: [Circular: *30],\n    fromWeb: [Circular: *31],\n    getEventListeners: [Circular: *19],\n    getMaxListeners: [Circular: *20],\n    init: [Circular: *2],\n    listenerCount: [Circular: *24],\n    on: [Circular: *18],\n    once: [Circular: *17],\n    prototype: Readable {\n        destroy: ƒ destroy(length: 2) {},\n        _undestroy: ƒ undestroy(length: 0) {},\n        _destroy: ƒ (length: 2) {},\n        push: ƒ (length: 2) {},\n        unshift: ƒ (length: 2) {},\n        isPaused: ƒ (length: 0) {},\n        setEncoding: ƒ (length: 1) {},\n        read: ƒ (length: 1) {},\n        _read: ƒ (length: 1) {},\n        pipe: ƒ (length: 2) {},\n        unpipe: ƒ (length: 1) {},\n        on: \u003cref *46\u003e ƒ (length: 2) {},\n        addListener: [Circular: *46],\n        removeListener: \u003cref *47\u003e ƒ (length: 2) {},\n        off: [Circular: *47],\n        removeAllListeners: ƒ (length: 1) {},\n        resume: ƒ (length: 0) {},\n        pause: ƒ (length: 0) {},\n        wrap: ƒ (length: 1) {},\n        iterator: ƒ (length: 1) {},\n        Symbol(nodejs.rejection): ƒ (length: 1) {},\n        Symbol(Symbol.asyncDispose): ƒ (length: 0) {},\n        Symbol(Symbol.asyncIterator): ƒ (length: 0) {}\n    },\n    setMaxListeners: [Circular: *21],\n    toWeb: [Circular: *32],\n    usingDomains: false,\n    wrap: [Circular: *33]\n}\n```\n\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\t\t\t\u003c/details\u003e\n\n\u003cdetails\u003e\n\t\t\t\t\u003csummary\u003e\u003ccode\u003e_stream_transform\u003c/code\u003e\u003c/summary\u003e\n\t\t\t\t\u003cbr\u003e\n\n\u003ctable\u003e\u003ctr\u003e\u003cth\u003eNode.js\u003c/th\u003e\u003cth\u003eBun\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n[Object: null prototype] {\n    default: ƒ Transform(length: 1) {}\n}\n```\n\n\u003c/td\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n{\n    EventEmitter: \u003cref *2\u003e ƒ EventEmitter(length: 1) {\n        prototype: EventEmitter {\n            setMaxListeners: ƒ setMaxListeners(length: 1) {},\n            constructor: [Circular: *2],\n            getMaxListeners: ƒ getMaxListeners(length: 0) {},\n            emit: ƒ emit(length: 1) {},\n            addListener: \u003cref *7\u003e ƒ addListener(length: 2) {},\n            on: [Circular: *7],\n            prependListener: ƒ prependListener(length: 2) {},\n            once: ƒ once(length: 2) {},\n            prependOnceListener: ƒ prependOnceListener(length: 2) {},\n            removeListener: \u003cref *11\u003e ƒ removeListener(length: 2) {},\n            off: [Circular: *11],\n            removeAllListeners: ƒ removeAllListeners(length: 1) {},\n            listeners: ƒ listeners(length: 1) {},\n            rawListeners: ƒ rawListeners(length: 1) {},\n            listenerCount: ƒ listenerCount(length: 2) {},\n            eventNames: ƒ eventNames(length: 0) {},\n            Symbol(kCapture): false\n        },\n        [get/set] captureRejections: false,\n        [get/set] defaultMaxListeners: 10,\n        once: \u003cref *17\u003e ƒ once(length: 2) {},\n        on: \u003cref *18\u003e ƒ on(length: 2) {},\n        getEventListeners: \u003cref *19\u003e ƒ getEventListeners(length: 2) {},\n        getMaxListeners: \u003cref *20\u003e ƒ getMaxListeners(length: 1) {},\n        setMaxListeners: \u003cref *21\u003e ƒ setMaxListeners(length: 0) {},\n        EventEmitter: [Circular: *2],\n        usingDomains: false,\n        captureRejectionSymbol: Symbol(nodejs.rejection),\n        EventEmitterAsyncResource: \u003cref *22\u003e class EventEmitterAsyncResource extends EventEmitter {},\n        errorMonitor: Symbol(events.errorMonitor),\n        addAbortListener: \u003cref *23\u003e ƒ addAbortListener(length: 2) {},\n        init: [Circular: *2],\n        listenerCount: \u003cref *24\u003e ƒ listenerCount(length: 2) {}\n    },\n    EventEmitterAsyncResource: [Circular: *22],\n    ReadableState: ƒ ReadableState(length: 3) {\n        prototype: {\n            Symbol(kOnConstructed): ƒ onConstructed(length: 1) {}\n        }\n    },\n    _fromList: ƒ fromList(length: 2) {},\n    addAbortListener: [Circular: *23],\n    captureRejectionSymbol: Symbol(nodejs.rejection),\n    captureRejections: false,\n    default: ƒ Transform(length: 1) {},\n    defaultMaxListeners: 10,\n    errorMonitor: Symbol(events.errorMonitor),\n    from: ƒ (length: 1) {},\n    fromWeb: ƒ (length: 2) {},\n    getEventListeners: [Circular: *19],\n    getMaxListeners: [Circular: *20],\n    init: [Circular: *2],\n    listenerCount: [Circular: *24],\n    on: [Circular: *18],\n    once: [Circular: *17],\n    prototype: Transform {\n        _final: ƒ final(length: 1) {},\n        _transform: ƒ (length: 3) {},\n        _write: ƒ (length: 3) {},\n        _read: ƒ (length: 0) {}\n    },\n    setMaxListeners: [Circular: *21],\n    toWeb: ƒ (length: 1) {},\n    usingDomains: false,\n    wrap: ƒ (length: 2) {}\n}\n```\n\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\t\t\t\u003c/details\u003e\n\n\u003cdetails\u003e\n\t\t\t\t\u003csummary\u003e\u003ccode\u003e_stream_wrap\u003c/code\u003e\u003c/summary\u003e\n\t\t\t\t\u003cbr\u003e\n\n\u003ctable\u003e\u003ctr\u003e\u003cth\u003eNode.js\u003c/th\u003e\u003cth\u003eBun\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n[Object: null prototype] {\n    default: class JSStreamSocket extends Socket {}\n}\n(node:2227) [DEP0125] DeprecationWarning: The _stream_wrap module is deprecated.\n(Use `node --trace-deprecation ...` to show where the warning was created)\n```\n\n\u003c/td\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n{\n    Duplex: \u003cref *2\u003e ƒ Duplex(length: 1) {\n        fromWeb: ƒ (length: 2) {},\n        toWeb: ƒ (length: 1) {},\n        from: ƒ (length: 1) {}\n    },\n    EventEmitter: \u003cref *6\u003e ƒ EventEmitter(length: 1) {\n        prototype: EventEmitter {\n            setMaxListeners: ƒ setMaxListeners(length: 1) {},\n            constructor: [Circular: *6],\n            getMaxListeners: ƒ getMaxListeners(length: 0) {},\n            emit: ƒ emit(length: 1) {},\n            addListener: \u003cref *11\u003e ƒ addListener(length: 2) {},\n            on: [Circular: *11],\n            prependListener: ƒ prependListener(length: 2) {},\n            once: ƒ once(length: 2) {},\n            prependOnceListener: ƒ prependOnceListener(length: 2) {},\n            removeListener: \u003cref *15\u003e ƒ removeListener(length: 2) {},\n            off: [Circular: *15],\n            removeAllListeners: ƒ removeAllListeners(length: 1) {},\n            listeners: ƒ listeners(length: 1) {},\n            rawListeners: ƒ rawListeners(length: 1) {},\n            listenerCount: ƒ listenerCount(length: 2) {},\n            eventNames: ƒ eventNames(length: 0) {},\n            Symbol(kCapture): false\n        },\n        [get/set] captureRejections: false,\n        [get/set] defaultMaxListeners: 10,\n        once: \u003cref *21\u003e ƒ once(length: 2) {},\n        on: \u003cref *22\u003e ƒ on(length: 2) {},\n        getEventListeners: \u003cref *23\u003e ƒ getEventListeners(length: 2) {},\n        getMaxListeners: \u003cref *24\u003e ƒ getMaxListeners(length: 1) {},\n        setMaxListeners: \u003cref *25\u003e ƒ setMaxListeners(length: 0) {},\n        EventEmitter: [Circular: *6],\n        usingDomains: false,\n        captureRejectionSymbol: Symbol(nodejs.rejection),\n        EventEmitterAsyncResource: \u003cref *26\u003e class EventEmitterAsyncResource extends EventEmitter {},\n        errorMonitor: Symbol(events.errorMonitor),\n        addAbortListener: \u003cref *27\u003e ƒ addAbortListener(length: 2) {},\n        init: [Circular: *6],\n        listenerCount: \u003cref *28\u003e ƒ listenerCount(length: 2) {}\n    },\n    EventEmitterAsyncResource: [Circular: *26],\n    PassThrough: \u003cref *29\u003e ƒ PassThrough(length: 1) {},\n    Readable: \u003cref *30\u003e ƒ Readable(length: 1) {\n        ReadableState: ƒ ReadableState(length: 3) {\n            prototype: {\n                Symbol(kOnConstructed): ƒ onConstructed(length: 1) {}\n            }\n        },\n        _fromList: ƒ fromList(length: 2) {},\n        from: ƒ (length: 2) {},\n        fromWeb: ƒ (length: 2) {},\n        toWeb: ƒ (length: 2) {},\n        wrap: ƒ (length: 2) {}\n    },\n    Stream: \u003cref *39\u003e ƒ Stream(length: 1) {\n        isDestroyed: \u003cref *40\u003e ƒ isDestroyed(length: 1) {},\n        isDisturbed: \u003cref *41\u003e ƒ isDisturbed(length: 1) {},\n        isErrored: \u003cref *42\u003e ƒ isErrored(length: 1) {},\n        isReadable: \u003cref *43\u003e ƒ isReadable(length: 1) {},\n        isWritable: \u003cref *44\u003e ƒ isWritable(length: 1) {},\n        Readable: [Circular: *30],\n        Writable: \u003cref *45\u003e ƒ Writable(length: 1) {\n            WritableState: ƒ WritableState(length: 3) {\n                prototype: {\n                    getBuffer: ƒ getBuffer(length: 0) {},\n                    Symbol(kOnConstructed): ƒ onConstructed(length: 1) {}\n                }\n            },\n            fromWeb: ƒ (length: 2) {},\n            toWeb: ƒ (length: 1) {}\n        },\n        Duplex: [Circular: *2],\n        Transform: \u003cref *52\u003e ƒ Transform(length: 1) {},\n        PassThrough: [Circular: *29],\n        duplexPair: \u003cref *53\u003e ƒ duplexPair(length: 1) {},\n        pipeline: \u003cref *54\u003e ƒ pipeline(length: 0) {\n            [get/set] Symbol(nodejs.util.promisify.custom): \u003cref *55\u003e ƒ pipeline(length: 0) {}\n        },\n        addAbortSignal: \u003cref *56\u003e ƒ addAbortSignal(length: 2) {},\n        finished: \u003cref *57\u003e ƒ eos(length: 3) {\n            finished: \u003cref *58\u003e ƒ finished(length: 2) {},\n            [get/set] Symbol(nodejs.util.promisify.custom): [Circular: *58]\n        },\n        destroy: \u003cref *59\u003e ƒ destroyer(length: 2) {},\n        compose: \u003cref *60\u003e ƒ compose(length: 0) {},\n        setDefaultHighWaterMark: \u003cref *61\u003e ƒ setDefaultHighWaterMark(length: 2) {},\n        getDefaultHighWaterMark: \u003cref *62\u003e ƒ getDefaultHighWaterMark(length: 1) {},\n        [get/set] promises: \u003cref *63\u003e {\n            finished: [Circular: *58],\n            pipeline: [Circular: *55]\n        },\n        Stream: [Circular: *39],\n        _isArrayBufferView: \u003cref *64\u003e ƒ isArrayBufferView(length: 1) {},\n        _isUint8Array: \u003cref *65\u003e ƒ isUint8Array(length: 1) {},\n        _uint8ArrayToBuffer: \u003cref *66\u003e ƒ _uint8ArrayToBuffer(length: 1) {},\n        eos: [Circular: *57],\n        EventEmitter: [Circular: *6]\n    },\n    Transform: [Circular: *52],\n    Writable: [Circular: *45],\n    _isArrayBufferView: [Circular: *64],\n    _isUint8Array: [Circular: *65],\n    _uint8ArrayToBuffer: [Circular: *66],\n    addAbortListener: [Circular: *27],\n    addAbortSignal: [Circular: *56],\n    captureRejectionSymbol: Symbol(nodejs.rejection),\n    captureRejections: false,\n    compose: [Circular: *60],\n    default: [Circular: *39],\n    defaultMaxListeners: 10,\n    destroy: [Circular: *59],\n    duplexPair: [Circular: *53],\n    eos: [Circular: *57],\n    errorMonitor: Symbol(events.errorMonitor),\n    finished: [Circular: *57],\n    getDefaultHighWaterMark: [Circular: *62],\n    getEventListeners: [Circular: *23],\n    getMaxListeners: [Circular: *24],\n    init: [Circular: *6],\n    isDestroyed: [Circular: *40],\n    isDisturbed: [Circular: *41],\n    isErrored: [Circular: *42],\n    isReadable: [Circular: *43],\n    isWritable: [Circular: *44],\n    listenerCount: [Circular: *28],\n    on: [Circular: *22],\n    once: [Circular: *21],\n    pipeline: [Circular: *54],\n    promises: [Circular: *63],\n    prototype: Stream {\n        pipe: ƒ (length: 2) {},\n        eventNames: ƒ eventNames(length: 0) {}\n    },\n    setDefaultHighWaterMark: [Circular: *61],\n    setMaxListeners: [Circular: *25],\n    usingDomains: false\n}\nDeprecationWarning: The _stream_wrap module is deprecated.\n code: \"DEP0125\"\n\n      at node:_stream_wrap (node:_stream_wrap:3:20)\n\n```\n\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\t\t\t\u003c/details\u003e\n\n\u003cdetails\u003e\n\t\t\t\t\u003csummary\u003e\u003ccode\u003e_stream_writable\u003c/code\u003e\u003c/summary\u003e\n\t\t\t\t\u003cbr\u003e\n\n\u003ctable\u003e\u003ctr\u003e\u003cth\u003eNode.js\u003c/th\u003e\u003cth\u003eBun\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n[Object: null prototype] {\n    WritableState: \u003cref *2\u003e ƒ WritableState(length: 3) {},\n    default: ƒ Writable(length: 1) {\n        WritableState: [Circular: *2],\n        fromWeb: \u003cref *4\u003e ƒ (length: 2) {},\n        toWeb: \u003cref *5\u003e ƒ (length: 1) {}\n    },\n    fromWeb: [Circular: *4],\n    toWeb: [Circular: *5]\n}\n```\n\n\u003c/td\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n{\n    EventEmitter: \u003cref *2\u003e ƒ EventEmitter(length: 1) {\n        prototype: EventEmitter {\n            setMaxListeners: ƒ setMaxListeners(length: 1) {},\n            constructor: [Circular: *2],\n            getMaxListeners: ƒ getMaxListeners(length: 0) {},\n            emit: ƒ emit(length: 1) {},\n            addListener: \u003cref *7\u003e ƒ addListener(length: 2) {},\n            on: [Circular: *7],\n            prependListener: ƒ prependListener(length: 2) {},\n            once: ƒ once(length: 2) {},\n            prependOnceListener: ƒ prependOnceListener(length: 2) {},\n            removeListener: \u003cref *11\u003e ƒ removeListener(length: 2) {},\n            off: [Circular: *11],\n            removeAllListeners: ƒ removeAllListeners(length: 1) {},\n            listeners: ƒ listeners(length: 1) {},\n            rawListeners: ƒ rawListeners(length: 1) {},\n            listenerCount: ƒ listenerCount(length: 2) {},\n            eventNames: ƒ eventNames(length: 0) {},\n            Symbol(kCapture): false\n        },\n        [get/set] captureRejections: false,\n        [get/set] defaultMaxListeners: 10,\n        once: \u003cref *17\u003e ƒ once(length: 2) {},\n        on: \u003cref *18\u003e ƒ on(length: 2) {},\n        getEventListeners: \u003cref *19\u003e ƒ getEventListeners(length: 2) {},\n        getMaxListeners: \u003cref *20\u003e ƒ getMaxListeners(length: 1) {},\n        setMaxListeners: \u003cref *21\u003e ƒ setMaxListeners(length: 0) {},\n        EventEmitter: [Circular: *2],\n        usingDomains: false,\n        captureRejectionSymbol: Symbol(nodejs.rejection),\n        EventEmitterAsyncResource: \u003cref *22\u003e class EventEmitterAsyncResource extends EventEmitter {},\n        errorMonitor: Symbol(events.errorMonitor),\n        addAbortListener: \u003cref *23\u003e ƒ addAbortListener(length: 2) {},\n        init: [Circular: *2],\n        listenerCount: \u003cref *24\u003e ƒ listenerCount(length: 2) {}\n    },\n    EventEmitterAsyncResource: [Circular: *22],\n    WritableState: \u003cref *25\u003e ƒ WritableState(length: 3) {\n        prototype: {\n            getBuffer: ƒ getBuffer(length: 0) {},\n            Symbol(kOnConstructed): ƒ onConstructed(length: 1) {}\n        }\n    },\n    addAbortListener: [Circular: *23],\n    captureRejectionSymbol: Symbol(nodejs.rejection),\n    captureRejections: false,\n    default: ƒ Writable(length: 1) {\n        WritableState: [Circular: *25],\n        fromWeb: \u003cref *30\u003e ƒ (length: 2) {},\n        toWeb: \u003cref *31\u003e ƒ (length: 1) {}\n    },\n    defaultMaxListeners: 10,\n    errorMonitor: Symbol(events.errorMonitor),\n    fromWeb: [Circular: *30],\n    getEventListeners: [Circular: *19],\n    getMaxListeners: [Circular: *20],\n    init: [Circular: *2],\n    listenerCount: [Circular: *24],\n    on: [Circular: *18],\n    once: [Circular: *17],\n    prototype: Writable {\n        pipe: ƒ (length: 0) {},\n        write: ƒ (length: 3) {},\n        cork: ƒ (length: 0) {},\n        uncork: ƒ (length: 0) {},\n        setDefaultEncoding: ƒ setDefaultEncoding(length: 1) {},\n        _write: ƒ (length: 3) {},\n        _writev: null,\n        end: ƒ (length: 3) {},\n        destroy: ƒ (length: 2) {},\n        _undestroy: ƒ undestroy(length: 0) {},\n        _destroy: ƒ (length: 2) {},\n        Symbol(nodejs.rejection): ƒ (length: 1) {},\n        Symbol(Symbol.asyncDispose): ƒ (length: 0) {}\n    },\n    setMaxListeners: [Circular: *21],\n    toWeb: [Circular: *31],\n    usingDomains: false\n}\n```\n\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\t\t\t\u003c/details\u003e\n\n\u003cdetails\u003e\n\t\t\t\t\u003csummary\u003e\u003ccode\u003e_tls_common\u003c/code\u003e\u003c/summary\u003e\n\t\t\t\t\u003cbr\u003e\n\n\u003ctable\u003e\u003ctr\u003e\u003cth\u003eNode.js\u003c/th\u003e\u003cth\u003eBun\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n[Object: null prototype] {\n    SecureContext: \u003cref *2\u003e ƒ SecureContext(length: 4) {},\n    createSecureContext: \u003cref *3\u003e ƒ createSecureContext(length: 1) {},\n    default: {\n        SecureContext: [Circular: *2],\n        createSecureContext: [Circular: *3],\n        translatePeerCertificate: \u003cref *5\u003e ƒ translatePeerCertificate(length: 1) {}\n    },\n    translatePeerCertificate: [Circular: *5]\n}\n```\n\n\u003c/td\u003e\u003ctd valign=\"top\"\u003e\n\n```js\n{\n    CLIENT_RENEG_LIMIT: 3,\n    CLIENT_RENEG_WINDOW: 600,\n    DEFAULT_CIPHERS: \"DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM…\",\n    DEFAULT_ECDH_CURVE: \"auto\",\n    DEFAULT_MAX_VERSION: \"TLSv1.3\",\n    DEFAULT_MIN_VERSION: \"TLSv1.2\",\n    SecureContext: \u003cref *2\u003e ƒ SecureContext2(length: 1) {},\n    Server: \u003cref *3\u003e ƒ Server(length: 2) {},\n    TLSSocket: \u003cref *4\u003e ƒ Socket(length: 1) {\n        prototype: TLSSocket2 {}\n    },\n    checkServerIdentity: \u003cref *6\u003e ƒ checkServerIdentity(length: 2) {},\n    connect: \u003cref *7\u003e ƒ connect(length: 0) {},\n    convertALPNProtocols: \u003cref *8\u003e ƒ convertALPNProtocols(length: 2) {},\n    createSecureContext: \u003cref *9\u003e ƒ createSecureContext(length: 1) {},\n    createServer: \u003cref *10\u003e ƒ createServer(length: 2) {},\n    default: {\n        CLIENT_RENEG_LIMIT: 3,\n        CLIENT_RENEG_WINDOW: 600,\n        connect: [Circular: *7],\n        convertALPNProtocols: [Circular: *8],\n        createSecureContext: [Circular: *9],\n        createServer: [Circular: *10],\n        DEFAULT_CIPHERS: \"DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM…\",\n        DEFAULT_ECDH_CURVE: \"auto\",\n        DEFAULT_MAX_VERSION: \"TLSv1.3\",\n        DEFAULT_MIN_VERSION: \"TLSv1.2\",\n        getCiphers: \u003cref *12\u003e ƒ getCiphers(length: 0) {},\n        parseCertString: \u003cref *13\u003e ƒ parseCertString(length: 0) {},\n        SecureContext: [Circular: *2],\n        Server: [Circular: *3],\n        TLSSocket: [Circular: *4],\n        checkServerIdentity: [Circular: *6],\n        rootCertificates: \u003cref *14\u003e [\n            \"-----BEGIN CERTIFICATE-----\\nMIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMC…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVz…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAG…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAU…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UE…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNV…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNV…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkG…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UE…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UE…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYD…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYD…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYD…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNI…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYD…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYD…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkG…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UE…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZS…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYD…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREw…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTER…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJI…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMX…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYD…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNV…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNV…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNV…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMx…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMx…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMx…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDAS…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYD…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UE…\",\n            \"-----BEGIN CERTIFICATE-----\\nMIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1U","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprivatenumber%2Fcompare-bun-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprivatenumber%2Fcompare-bun-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprivatenumber%2Fcompare-bun-node/lists"}