Merge pull request #19627 from hiroshi-cl/fix/express-1

[express-serve-static-core / express]  Fix header() return type
This commit is contained in:
Nathan Shively-Sanders
2017-09-08 08:57:20 -07:00
committed by GitHub
2 changed files with 22 additions and 8 deletions

View File

@@ -197,9 +197,11 @@ interface Request extends http.IncomingMessage, Express.Request {
*
* @param name
*/
get(name: string): string | string[] | undefined;
get(name: "set-cookie"): string[] | undefined;
get(name: string): string | undefined;
header(name: string): string | string[] | undefined;
header(name: "set-cookie"): string[] | undefined;
header(name: string): string | undefined;
/**
* Check if the given `type(s)` is acceptable, returning

View File

@@ -70,14 +70,26 @@ namespace express_tests {
language = req.acceptsLanguages(['en', 'ja']);
language = req.acceptsLanguages('en', 'ja');
let existingHeader1 = req.get('existingHeader') as string;
let nonExistingHeader1 = req.get('nonExistingHeader') as undefined;
// downcasting
req.get('set-cookie') as undefined;
req.get('set-cookie') as string[];
const setCookieHeader1 = req.get('set-cookie');
if (setCookieHeader1 !== undefined) {
const setCookieHeader2: string[] = setCookieHeader1;
}
req.get('header') as undefined;
req.get('header') as string;
const header1 = req.get('header');
if (header1 !== undefined) {
const header2: string = header1;
}
let existingHeader2 = req.header('existingHeader') as string;
let nonExistingHeader2 = req.header('nonExistingHeader') as undefined;
// upcasting
const setCookieHeader3: string[] | undefined = req.get('set-cookie');
const header3: string | undefined = req.header('header');
let existingHeader3 = req.headers.existingHeader as string;
let nonExistingHeader3 = req.headers.nonExistingHeader as any as undefined;
req.headers.existingHeader as string;
req.headers.nonExistingHeader as any as undefined;
res.send(req.query['token']);
});