File tree Expand file tree Collapse file tree 2 files changed +7
-6
lines changed Expand file tree Collapse file tree 2 files changed +7
-6
lines changed Original file line number Diff line number Diff line change @@ -426,7 +426,7 @@ export class OpenAPIBackend<D extends Document = Document> {
426
426
427
427
// parse request again now with coerced types, if needed
428
428
if ( this . validator . coerceTypes ) {
429
- context . request = this . router . parseRequest ( req , context . operation ) ;
429
+ context . request = this . router . parseRequest ( context . validation . coerced , context . operation ) ;
430
430
}
431
431
}
432
432
Original file line number Diff line number Diff line change @@ -17,9 +17,10 @@ type Document = OpenAPIV3_1.Document | OpenAPIV3.Document;
17
17
* @export
18
18
* @interface ValidationStatus
19
19
*/
20
- export interface ValidationResult {
20
+ export interface ValidationResult < T = any > {
21
21
valid : boolean ;
22
22
errors ?: ErrorObject [ ] | null ;
23
+ coerced ?: T ;
23
24
}
24
25
25
26
/**
@@ -230,8 +231,8 @@ export class OpenAPIValidator<D extends Document = Document> {
230
231
* @returns {ValidationResult }
231
232
* @memberof OpenAPIRequestValidator
232
233
*/
233
- public validateRequest ( req : Request , operation ?: Operation < D > | string ) : ValidationResult {
234
- const result : ValidationResult = { valid : true } ;
234
+ public validateRequest ( req : Request , operation ?: Operation < D > | string ) : ValidationResult < Request > {
235
+ const result : ValidationResult = { valid : true , coerced : { ... req } } ;
235
236
result . errors = [ ] ;
236
237
237
238
if ( ! operation ) {
@@ -314,8 +315,8 @@ export class OpenAPIValidator<D extends Document = Document> {
314
315
if ( validate . errors ) {
315
316
result . errors . push ( ...validate . errors ) ;
316
317
} else if ( this . coerceTypes ) {
317
- req . query = parameters . query ;
318
- req . params = parameters . path ;
318
+ result . coerced . query = parameters . query ;
319
+ result . coerced . params = parameters . path ;
319
320
}
320
321
}
321
322
You can’t perform that action at this time.
0 commit comments