diff options
author | Marvin Hagemeister <marvin@deno.com> | 2024-01-19 13:09:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-19 13:09:37 +0100 |
commit | 59f419bf410e861c49cdfa6c1b0e657cf8bcc8e3 (patch) | |
tree | 6312e6bf75bf2d01a2d70e9bc8d00aca4029ed94 /ext | |
parent | c62615bfe5a070c2517f3af3208d4308c72eb054 (diff) |
fix(node/http): remoteAddress and remotePort not being set (#21998)
<!--
Before submitting a PR, please read https://deno.com/manual/contributing
1. Give the PR a descriptive title.
Examples of good title:
- fix(std/http): Fix race condition in server
- docs(console): Update docstrings
- feat(doc): Handle nested reexports
Examples of bad title:
- fix #7123
- update docs
- fix bugs
2. Ensure there is a related issue and it is referenced in the PR text.
3. Ensure there are tests that cover the changes.
4. Ensure `cargo test` passes.
5. Ensure `./tools/format.js` passes without changing files.
6. Ensure `./tools/lint.js` passes.
7. Open as a draft PR if your work is still in progress. The CI won't
run
all steps, but you can add '[ci]' to a commit message to force it to.
8. If you would like to run the benchmarks on the CI, add the 'ci-bench'
label.
-->
Ultimately, it came down to using incorrect property names in the
`FakeSocket` constructor. The values are passed under `remoteAddress`,
not `hostname` and `remotePort` instead of `port`.
Fixes https://github.com/denoland/deno/issues/21980
Diffstat (limited to 'ext')
-rw-r--r-- | ext/node/polyfills/http.ts | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/ext/node/polyfills/http.ts b/ext/node/polyfills/http.ts index 9654d3beb..2da19f7f5 100644 --- a/ext/node/polyfills/http.ts +++ b/ext/node/polyfills/http.ts @@ -283,10 +283,16 @@ const kError = Symbol("kError"); const kUniqueHeaders = Symbol("kUniqueHeaders"); class FakeSocket extends EventEmitter { - constructor(opts = {}) { + constructor( + opts: { + encrypted?: boolean | undefined; + remotePort?: number | undefined; + remoteAddress?: string | undefined; + } = {}, + ) { super(); - this.remoteAddress = opts.hostname; - this.remotePort = opts.port; + this.remoteAddress = opts.remoteAddress; + this.remotePort = opts.remotePort; this.encrypted = opts.encrypted; this.writable = true; this.readable = true; |