mirror of
https://github.com/oven-sh/bun
synced 2026-02-16 05:42:43 +00:00
node:http: preserve this value for onListen callback (#10533)
This commit is contained in:
@@ -337,7 +337,7 @@ class Agent extends EventEmitter {
|
||||
function emitListeningNextTick(self, onListen, err, hostname, port) {
|
||||
if (typeof onListen === "function") {
|
||||
try {
|
||||
onListen(err, hostname, port);
|
||||
onListen.$apply(self, [err, hostname, port]);
|
||||
} catch (err) {
|
||||
self.emit("error", err);
|
||||
}
|
||||
|
||||
@@ -140,6 +140,21 @@ describe("node:http", () => {
|
||||
listenResponse.close();
|
||||
});
|
||||
|
||||
it("listen callback should be bound to server", async () => {
|
||||
const server = createServer();
|
||||
const { resolve, reject, promise } = Promise.withResolvers();
|
||||
server.listen(0, function () {
|
||||
try {
|
||||
expect(this === server).toBeTrue();
|
||||
resolve();
|
||||
} catch (e) {
|
||||
reject();
|
||||
}
|
||||
});
|
||||
await promise;
|
||||
server.close();
|
||||
});
|
||||
|
||||
it("option method should be uppercase (#7250)", async () => {
|
||||
try {
|
||||
var server = createServer((req, res) => {
|
||||
|
||||
Reference in New Issue
Block a user