From f7c9354f94582093578d6911bb128eed15ca3c1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonathan=20H=C3=A4berle?= Date: Fri, 1 Aug 2014 15:40:16 +0200 Subject: [PATCH 1/6] body-parser definitions added --- body-parser/body-parser.d.ts | 63 +++++++++++++++++++++++++++++++++--- 1 file changed, 58 insertions(+), 5 deletions(-) diff --git a/body-parser/body-parser.d.ts b/body-parser/body-parser.d.ts index 0cd67332a..3f2f90057 100644 --- a/body-parser/body-parser.d.ts +++ b/body-parser/body-parser.d.ts @@ -1,12 +1,65 @@ // Type definitions for body-parser // Project: http://expressjs.com -// Definitions by: Santi Albo + +// Definition by: Jonathan Häberle // Definitions: https://github.com/borisyankov/DefinitelyTyped /// declare module "body-parser" { - import express = require('express'); - function e(options?: any): express.RequestHandler; - export = e; -} \ No newline at end of file + import express = require('express'); + + module e { + + // JSON Options + interface JsonOptions { + strict? : boolean; // only parse objects and arrays. (default: true) + inflate? : boolean; // if deflated bodies will be inflated. (default: true) + limit? : number; // maximum request body size. (default: <100kb>) + reviver? : (k :any, v:any) => any // passed to JSON.parse() + type? : string; // request content-type to parse (default: json) + verify? : (req : express.Request, res : express.Response, streamBuf : any, encoding : string) => void; // function to verify body content + } + + // Raw Options + interface RawOptions { + inflate? : boolean; // if deflated bodies will be inflated. (default: true) + limit? :number; // maximum request body size. (default: <100kb>) + type? : string; // request content-type to parse (default: application/octet-stream) + verify? : (req : express.Request, res : express.Response, streamBuf : any, encoding : string) => void; // function to verify body content + } + + // Text Options + interface TextOptions { + defaultCharset? : string; // the default charset to parse as, if not specified in content-type. (default: utf-8) + inflate? : boolean; // if deflated bodies will be inflated. (default: true) + limit? : number; // maximum request body size. (default: <100kb>) + type? : string; // request content-type to parse (default: text/plain) + verify? : (req : express.Request, res : express.Response, streamBuf : any, encoding : string) => void; // function to verify body content + } + + // UrlEncoded Options + interface UrlEncodedOptions { + extended? : boolean; // parse extended syntax with the qs module. (default: true) + inflate? : boolean; // if deflated bodies will be inflated. (default: true) + limit: number; // maximum request body size. (default: <100kb>) + type: string; // request content-type to parse (default: urlencoded) + verify? : (req : express.Request, res : express.Response, streamBuf : any, encoding : string) => void; // function to verify body content + } + + + // Returns middleware that only parses json + function json(options? : JsonOptions) : express.RequestHandler; + + // Returns middleware that parses all bodies as a Buffer + function raw(options? : RawOptions) : express.RequestHandler; + + // Returns middleware that parses all bodies as a string + function text(options? : TextOptions) : express.RequestHandler; + + // Returns middleware that only parses urlencoded bodies + function urlencoded(options? : UrlEncodedOptions) : express.RequestHandler; + } + + export = e; +} From 72943b80ba4c330379a4f2dcd05765a5bbb64fc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonathan=20H=C3=A4berle?= Date: Fri, 1 Aug 2014 16:03:41 +0200 Subject: [PATCH 2/6] Fixed: expected '// Definitions by: ' at line 3 --- body-parser/body-parser.d.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/body-parser/body-parser.d.ts b/body-parser/body-parser.d.ts index 3f2f90057..9271144dc 100644 --- a/body-parser/body-parser.d.ts +++ b/body-parser/body-parser.d.ts @@ -1,6 +1,5 @@ // Type definitions for body-parser // Project: http://expressjs.com - // Definition by: Jonathan Häberle // Definitions: https://github.com/borisyankov/DefinitelyTyped From 6165fcf3c2b20a34fcfd7b221543bc0e4cbf4117 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonathan=20H=C3=A4berle?= Date: Fri, 1 Aug 2014 16:11:38 +0200 Subject: [PATCH 3/6] Fixed: expected url at line 3 --- body-parser/body-parser.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/body-parser/body-parser.d.ts b/body-parser/body-parser.d.ts index 9271144dc..a1932dae0 100644 --- a/body-parser/body-parser.d.ts +++ b/body-parser/body-parser.d.ts @@ -1,6 +1,6 @@ // Type definitions for body-parser // Project: http://expressjs.com -// Definition by: Jonathan Häberle +// Definition by: Jonathan Haeberle // Definitions: https://github.com/borisyankov/DefinitelyTyped /// From 21ec790831327a8116ac55e3dfe5a52019d147df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonathan=20H=C3=A4berle?= Date: Fri, 1 Aug 2014 16:24:03 +0200 Subject: [PATCH 4/6] Fixed Header --- body-parser/body-parser.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/body-parser/body-parser.d.ts b/body-parser/body-parser.d.ts index a1932dae0..614a63555 100644 --- a/body-parser/body-parser.d.ts +++ b/body-parser/body-parser.d.ts @@ -1,6 +1,6 @@ // Type definitions for body-parser // Project: http://expressjs.com -// Definition by: Jonathan Haeberle +// Definition by: Santi Albo , Jonathan Häberle // Definitions: https://github.com/borisyankov/DefinitelyTyped /// From 2e08343a0d65f2cacf393cf85be57f11e609366f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonathan=20H=C3=A4berle?= Date: Fri, 1 Aug 2014 16:40:46 +0200 Subject: [PATCH 5/6] typing header format fixed --- body-parser/body-parser.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/body-parser/body-parser.d.ts b/body-parser/body-parser.d.ts index 614a63555..a46b5e336 100644 --- a/body-parser/body-parser.d.ts +++ b/body-parser/body-parser.d.ts @@ -1,6 +1,6 @@ // Type definitions for body-parser // Project: http://expressjs.com -// Definition by: Santi Albo , Jonathan Häberle +// Definitions by: Jonathan Häberle // Definitions: https://github.com/borisyankov/DefinitelyTyped /// From 2d77b19dfab6cc00e8d9423ffa71f621709151f8 Mon Sep 17 00:00:00 2001 From: VILIC VANE Date: Fri, 1 Aug 2014 23:24:54 +0800 Subject: [PATCH 6/6] merged conflict --- body-parser/body-parser.d.ts | 180 ++++++++++++++++++++++++----------- 1 file changed, 127 insertions(+), 53 deletions(-) diff --git a/body-parser/body-parser.d.ts b/body-parser/body-parser.d.ts index a46b5e336..994aa4e1b 100644 --- a/body-parser/body-parser.d.ts +++ b/body-parser/body-parser.d.ts @@ -1,64 +1,138 @@ // Type definitions for body-parser // Project: http://expressjs.com -// Definitions by: Jonathan Häberle +// Definitions by: Santi Albo , VILIC VANE , Jonathan Häberle // Definitions: https://github.com/borisyankov/DefinitelyTyped /// declare module "body-parser" { - import express = require('express'); + import express = require('express'); - module e { + /** + * bodyParser: use individual json/urlencoded middlewares + * @deprecated + */ - // JSON Options - interface JsonOptions { - strict? : boolean; // only parse objects and arrays. (default: true) - inflate? : boolean; // if deflated bodies will be inflated. (default: true) - limit? : number; // maximum request body size. (default: <100kb>) - reviver? : (k :any, v:any) => any // passed to JSON.parse() - type? : string; // request content-type to parse (default: json) - verify? : (req : express.Request, res : express.Response, streamBuf : any, encoding : string) => void; // function to verify body content + function bodyParser(options?: { + /** + * if deflated bodies will be inflated. (default: true) + */ + inflate?: boolean; + /** + * maximum request body size. (default: '100kb') + */ + limit?: any; + /** + * function to verify body content, the parsing can be aborted by throwing an error. + */ + verify?: (req: express.Request, res: express.Response, buf: Buffer, encoding: string) => void; + /** + * only parse objects and arrays. (default: true) + */ + strict?: boolean; + /** + * passed to JSON.parse(). + */ + receiver?: (key: string, value: any) => any; + /** + * parse extended syntax with the qs module. (default: true) + */ + extended?: boolean; + }): express.RequestHandler; + + module bodyParser { + export function json(options?: { + /** + * if deflated bodies will be inflated. (default: true) + */ + inflate?: boolean; + /** + * maximum request body size. (default: '100kb') + */ + limit?: any; + /** + * request content-type to parse, passed directly to the type-is library. (default: 'json') + */ + type?: any; + /** + * function to verify body content, the parsing can be aborted by throwing an error. + */ + verify?: (req: express.Request, res: express.Response, buf: Buffer, encoding: string) => void; + /** + * only parse objects and arrays. (default: true) + */ + strict?: boolean; + /** + * passed to JSON.parse(). + */ + receiver?: (key: string, value: any) => any; + }): express.RequestHandler; + + export function raw(options?: { + /** + * if deflated bodies will be inflated. (default: true) + */ + inflate?: boolean; + /** + * maximum request body size. (default: '100kb') + */ + limit?: any; + /** + * request content-type to parse, passed directly to the type-is library. (default: 'application/octet-stream') + */ + type?: any; + /** + * function to verify body content, the parsing can be aborted by throwing an error. + */ + verify?: (req: express.Request, res: express.Response, buf: Buffer, encoding: string) => void; + }): express.RequestHandler; + + export function text(options?: { + /** + * if deflated bodies will be inflated. (default: true) + */ + inflate?: boolean; + /** + * maximum request body size. (default: '100kb') + */ + limit?: any; + /** + * request content-type to parse, passed directly to the type-is library. (default: 'text/plain') + */ + type?: any; + /** + * function to verify body content, the parsing can be aborted by throwing an error. + */ + verify?: (req: express.Request, res: express.Response, buf: Buffer, encoding: string) => void; + /** + * the default charset to parse as, if not specified in content-type. (default: 'utf-8') + */ + defaultCharset?: string; + }): express.RequestHandler; + + export function urlencoded(options?: { + /** + * if deflated bodies will be inflated. (default: true) + */ + inflate?: boolean; + /** + * maximum request body size. (default: '100kb') + */ + limit?: any; + /** + * request content-type to parse, passed directly to the type-is library. (default: 'urlencoded') + */ + type?: any; + /** + * function to verify body content, the parsing can be aborted by throwing an error. + */ + verify?: (req: express.Request, res: express.Response, buf: Buffer, encoding: string) => void; + /** + * parse extended syntax with the qs module. (default: true) + */ + extended?: boolean; + }): express.RequestHandler; } - // Raw Options - interface RawOptions { - inflate? : boolean; // if deflated bodies will be inflated. (default: true) - limit? :number; // maximum request body size. (default: <100kb>) - type? : string; // request content-type to parse (default: application/octet-stream) - verify? : (req : express.Request, res : express.Response, streamBuf : any, encoding : string) => void; // function to verify body content - } - - // Text Options - interface TextOptions { - defaultCharset? : string; // the default charset to parse as, if not specified in content-type. (default: utf-8) - inflate? : boolean; // if deflated bodies will be inflated. (default: true) - limit? : number; // maximum request body size. (default: <100kb>) - type? : string; // request content-type to parse (default: text/plain) - verify? : (req : express.Request, res : express.Response, streamBuf : any, encoding : string) => void; // function to verify body content - } - - // UrlEncoded Options - interface UrlEncodedOptions { - extended? : boolean; // parse extended syntax with the qs module. (default: true) - inflate? : boolean; // if deflated bodies will be inflated. (default: true) - limit: number; // maximum request body size. (default: <100kb>) - type: string; // request content-type to parse (default: urlencoded) - verify? : (req : express.Request, res : express.Response, streamBuf : any, encoding : string) => void; // function to verify body content - } - - - // Returns middleware that only parses json - function json(options? : JsonOptions) : express.RequestHandler; - - // Returns middleware that parses all bodies as a Buffer - function raw(options? : RawOptions) : express.RequestHandler; - - // Returns middleware that parses all bodies as a string - function text(options? : TextOptions) : express.RequestHandler; - - // Returns middleware that only parses urlencoded bodies - function urlencoded(options? : UrlEncodedOptions) : express.RequestHandler; - } - - export = e; -} + export = bodyParser; +} \ No newline at end of file