@cfworker/web
Advanced tools
Comparing version 1.6.4 to 1.6.5
@@ -10,3 +10,4 @@ import { OutputUnit, Schema } from '@cfworker/json-schema'; | ||
export declare type RequestPart = keyof RequestSchemas; | ||
declare function middlewareFactory(schemas: RequestSchemas, lookup?: any): Middleware; | ||
export declare type RequestParser = (data: URLSearchParams | FormData) => any; | ||
declare function middlewareFactory(schemas: RequestSchemas, parser?: RequestParser, lookup?: any): Middleware; | ||
export declare const messages: Record<RequestPart, string>; | ||
@@ -13,0 +14,0 @@ export interface RequestValidationErrorBody { |
@@ -11,3 +11,3 @@ import { dereference, validate as schemaValidate } from '@cfworker/json-schema'; | ||
}; | ||
function middlewareFactory(schemas, lookup = Object.create(null)) { | ||
function middlewareFactory(schemas, parser = toObject, lookup = Object.create(null)) { | ||
const { headers: $headers, search: $search, params: $params, body: $body } = schemas; | ||
@@ -35,3 +35,3 @@ if ($headers) { | ||
if ($search) { | ||
const search = toObject(req.url.searchParams); | ||
const search = parser(req.url.searchParams); | ||
validateRequestPart('search', search, $search, lookup); | ||
@@ -46,3 +46,3 @@ } | ||
const form = await req.body.formData(); | ||
body = toObject(form); | ||
body = parser(form); | ||
} | ||
@@ -49,0 +49,0 @@ else { |
{ | ||
"name": "@cfworker/web", | ||
"version": "1.6.4", | ||
"version": "1.6.5", | ||
"description": "Web framework for Cloudflare Workers and service workers, inspired by Koa and fastify", | ||
@@ -36,3 +36,3 @@ "keywords": [ | ||
"dependencies": { | ||
"@cfworker/json-schema": "^1.6.3", | ||
"@cfworker/json-schema": "^1.6.5", | ||
"@cfworker/worker-types": "^1.6.0", | ||
@@ -54,3 +54,3 @@ "@cloudflare/workers-types": "^2.0.0", | ||
"devDependencies": { | ||
"@cfworker/dev": "^1.6.3", | ||
"@cfworker/dev": "^1.6.5", | ||
"@types/chai": "^4.2.12", | ||
@@ -60,5 +60,6 @@ "@types/mocha": "^8.0.3", | ||
"mocha": "^8.1.3", | ||
"qs": "^6.9.4", | ||
"typescript": "^4.0.3" | ||
}, | ||
"gitHead": "2292f528ac85397f538256447d8e00e840c4cdeb" | ||
"gitHead": "b544e6aeb2e60ae8e73384fb29ffcdfa58fbff7b" | ||
} |
@@ -20,2 +20,4 @@ import { | ||
export type RequestParser = (data: URLSearchParams | FormData) => any; | ||
const draft = '2019-09'; | ||
@@ -32,2 +34,3 @@ | ||
schemas: RequestSchemas, | ||
parser: RequestParser = toObject, | ||
lookup = Object.create(null) | ||
@@ -64,3 +67,3 @@ ): Middleware { | ||
if ($search) { | ||
const search = toObject(req.url.searchParams); | ||
const search = parser(req.url.searchParams); | ||
validateRequestPart('search', search, $search, lookup); | ||
@@ -77,3 +80,3 @@ } | ||
const form = await req.body.formData(); | ||
body = toObject(form); | ||
body = parser(form); | ||
} else { | ||
@@ -80,0 +83,0 @@ body = await req.body.json(); |
51122
1456
7
Updated@cfworker/json-schema@^1.6.5