Creating a separate interface for IncomingMessageHeaders in node/index.d.ts (#17157)

* Creating a separate interface for IncomingMessageHeaders

This allows for IncomingMessage.headers types to be extensible per project. Suppose a node service expects a fixed set of headers of certain type (say string), that service can specify custom IncomingMessageHeaders with more concrete types defined.
For example

```
interface IncomingMessageHeaders {
    "host": string;
    "set-cookie": string[]
}
```

* Changing IncomingMessageHeaders defn

This definition adds undefined in addition to string and string[].
This commit is contained in:
Madhukar Kedlaya 2017-06-16 10:21:58 -07:00 committed by Andy
parent 2a4ea59ddf
commit edbb4de95d

View File

@ -804,12 +804,15 @@ declare module "http" {
end(str: string, encoding?: string, cb?: Function): void;
end(data?: any, encoding?: string): void;
}
export interface IncomingMessageHeaders {
[key: string]: string | string[] | undefined;
}
export interface IncomingMessage extends stream.Readable {
httpVersion: string;
httpVersionMajor: number;
httpVersionMinor: number;
connection: net.Socket;
headers: { [key: string]: string | string[] };
headers: IncomingMessageHeaders;
rawHeaders: string[];
trailers: { [key: string]: string };
rawTrailers: string[];