From cb01abe1b25ef5ebe2e6df5de764ef2d8ad07a5b Mon Sep 17 00:00:00 2001 From: John Purcell Date: Wed, 26 Mar 2014 14:54:22 -0400 Subject: [PATCH] Return correct type from .listen() and .close(), expose .address() on http.Server --- node/node-tests.ts | 8 ++++++++ node/node.d.ts | 27 ++++++++++++++------------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/node/node-tests.ts b/node/node-tests.ts index 397a9dfa48..9b896a3ef0 100644 --- a/node/node-tests.ts +++ b/node/node-tests.ts @@ -6,6 +6,8 @@ import events = require("events"); import zlib = require("zlib"); import url = require('url'); import util = require("util"); +import http = require("http"); +import net = require("net"); assert(1 + 1 - 2 === 0, "The universe isn't how it should."); @@ -80,3 +82,9 @@ function stream_readable_pipe_test() { var w = fs.createWriteStream('file.txt.gz'); r.pipe(z).pipe(w); } + +//////////////////////////////////////////////////// + +// Make sure .listen() and .close() retuern a Server instance +http.createServer().listen(0).close().address(); +net.createServer().listen(0).close().address(); diff --git a/node/node.d.ts b/node/node.d.ts index 4fafb883e7..4a15d4777e 100644 --- a/node/node.d.ts +++ b/node/node.d.ts @@ -252,10 +252,11 @@ declare module "http" { import stream = require("stream"); export interface Server extends NodeEventEmitter { - listen(port: number, hostname?: string, backlog?: number, callback?: Function): void; - listen(path: string, callback?: Function): void; - listen(handle: any, listeningListener?: Function): void; - close(cb?: any): void; + listen(port: number, hostname?: string, backlog?: number, callback?: Function): Server; + listen(path: string, callback?: Function): Server; + listen(handle: any, listeningListener?: Function): Server; + close(cb?: any): Server; + address(): { port: number; family: string; address: string; }; maxHeadersCount: number; } export interface ServerRequest extends NodeEventEmitter, ReadableStream { @@ -707,10 +708,10 @@ declare module "net" { }; export interface Server extends Socket { - listen(port: number, host?: string, backlog?: number, listeningListener?: Function): void; - listen(path: string, listeningListener?: Function): void; - listen(handle: any, listeningListener?: Function): void; - close(callback?: Function): void; + listen(port: number, host?: string, backlog?: number, listeningListener?: Function): Server; + listen(path: string, listeningListener?: Function): Server; + listen(handle: any, listeningListener?: Function): Server; + close(callback?: Function): Server; address(): { port: number; family: string; address: string; }; maxConnections: number; connections: number; @@ -953,12 +954,12 @@ declare module "tls" { export interface Server extends net.Server { // Extended base methods - listen(port: number, host?: string, backlog?: number, listeningListener?: Function): void; - listen(path: string, listeningListener?: Function): void; - listen(handle: any, listeningListener?: Function): void; + listen(port: number, host?: string, backlog?: number, listeningListener?: Function): Server; + listen(path: string, listeningListener?: Function): Server; + listen(handle: any, listeningListener?: Function): Server; - listen(port: number, host?: string, callback?: Function): void; - close(): void; + listen(port: number, host?: string, callback?: Function): Server; + close(): Server; address(): { port: number; family: string; address: string; }; addContext(hostName: string, credentials: { key: string;