spiceflow 1.1.3 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -23
- package/dist/context.d.ts +9 -23
- package/dist/context.d.ts.map +1 -1
- package/dist/middleware.test.js +27 -0
- package/dist/middleware.test.js.map +1 -1
- package/dist/openapi.d.ts +1 -1
- package/dist/spiceflow.d.ts +5 -5
- package/dist/spiceflow.d.ts.map +1 -1
- package/dist/spiceflow.js +24 -28
- package/dist/spiceflow.js.map +1 -1
- package/dist/spiceflow.test.js +43 -4
- package/dist/spiceflow.test.js.map +1 -1
- package/dist/types.d.ts +20 -20
- package/package.json +1 -1
- package/src/context.ts +10 -28
- package/src/middleware.test.ts +29 -0
- package/src/spiceflow.test.ts +57 -4
- package/src/spiceflow.ts +39 -46
- package/src/types.ts +21 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spiceflow.test.js","sourceRoot":"","sources":["../src/spiceflow.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spiceflow.test.js","sourceRoot":"","sources":["../src/spiceflow.test.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -50,7 +50,7 @@ export type Reconcile<A extends Object, B extends Object, Override extends boole
|
|
|
50
50
|
[key in keyof A]: A[key];
|
|
51
51
|
} & Collision> : never;
|
|
52
52
|
export interface SingletonBase {
|
|
53
|
-
|
|
53
|
+
state: Record<string, unknown>;
|
|
54
54
|
}
|
|
55
55
|
export interface DefinitionBase {
|
|
56
56
|
type: Record<string, unknown>;
|
|
@@ -100,7 +100,7 @@ export interface MergeSchema<in out A extends RouteSchema, in out B extends Rout
|
|
|
100
100
|
response: {} extends A['response'] ? {} extends B['response'] ? {} : B['response'] : {} extends B['response'] ? A['response'] : A['response'] & Omit<B['response'], keyof A['response']>;
|
|
101
101
|
}
|
|
102
102
|
export type Handler<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
|
|
103
|
-
|
|
103
|
+
state: {};
|
|
104
104
|
}, Path extends string = ''> = (context: Context<Route, Singleton, Path>) => MaybePromise<{} extends Route['response'] ? unknown : Route['response'][keyof Route['response']]>;
|
|
105
105
|
export type Replace<Original, Target, With> = IsAny<Target> extends true ? Original : Original extends Record<string, unknown> ? {
|
|
106
106
|
[K in keyof Original]: Original[K] extends Target ? With : Original[K];
|
|
@@ -110,7 +110,7 @@ export type CoExist<Original, Target, With> = IsAny<Target> extends true ? Origi
|
|
|
110
110
|
[K in keyof Original]: Original[K] extends Target ? Original[K] | With : Original[K];
|
|
111
111
|
} : Original extends Target ? Original | With : Original;
|
|
112
112
|
export type InlineHandler<Route extends RouteSchema = {}, Singleton extends SingletonBase = {
|
|
113
|
-
|
|
113
|
+
state: {};
|
|
114
114
|
}, Path extends string = '', MacroContext = {}> = (context: MacroContext extends Record<string | number | symbol, unknown> ? Prettify<MacroContext & Context<Route, Singleton, Path>> : Context<Route, Singleton, Path>) => Response | MaybePromise<{} extends Route['response'] ? unknown : (Route['response'] extends {
|
|
115
115
|
200: any;
|
|
116
116
|
} ? Route['response'] : string | number | boolean | Object) | Route['response'][keyof Route['response']] | {
|
|
@@ -120,15 +120,15 @@ export type InlineHandler<Route extends RouteSchema = {}, Singleton extends Sing
|
|
|
120
120
|
};
|
|
121
121
|
}[keyof Route['response']]>;
|
|
122
122
|
export type OptionalHandler<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
|
|
123
|
-
|
|
123
|
+
state: {};
|
|
124
124
|
}, Path extends string = ''> = Handler<Route, Singleton, Path> extends (context: infer Context) => infer Returned ? (context: Context) => Returned | MaybePromise<void> : never;
|
|
125
125
|
export type AfterHandler<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
|
|
126
|
-
|
|
126
|
+
state: {};
|
|
127
127
|
}, Path extends string = ''> = Handler<Route, Singleton, Path> extends (context: infer Context) => infer Returned ? (context: Prettify<{
|
|
128
128
|
response: Route['response'];
|
|
129
129
|
} & Context>) => Returned | MaybePromise<void> : never;
|
|
130
130
|
export type MapResponse<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
|
|
131
|
-
|
|
131
|
+
state: {};
|
|
132
132
|
}, Path extends string = ''> = Handler<Omit<Route, 'response'> & {
|
|
133
133
|
response: MaybePromise<Response | undefined | unknown>;
|
|
134
134
|
}, Singleton & {
|
|
@@ -137,55 +137,55 @@ export type MapResponse<in out Route extends RouteSchema = {}, in out Singleton
|
|
|
137
137
|
};
|
|
138
138
|
}, Path>;
|
|
139
139
|
export type VoidHandler<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
|
|
140
|
-
|
|
140
|
+
state: {};
|
|
141
141
|
}> = (context: Context<Route, Singleton>) => MaybePromise<void>;
|
|
142
142
|
export type TransformHandler<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
|
|
143
|
-
|
|
143
|
+
state: {};
|
|
144
144
|
}, BasePath extends string = ''> = {
|
|
145
145
|
(context: Prettify<Context<Route, Omit<Singleton, 'resolve'> & {
|
|
146
146
|
resolve: {};
|
|
147
147
|
}, BasePath>>): MaybePromise<void>;
|
|
148
148
|
};
|
|
149
149
|
export type BodyHandler<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
|
|
150
|
-
|
|
150
|
+
state: {};
|
|
151
151
|
}, Path extends string = ''> = (context: Prettify<{
|
|
152
152
|
contentType: string;
|
|
153
153
|
} & Context<Route, Singleton, Path>>, contentType: string) => MaybePromise<any>;
|
|
154
154
|
export type MiddlewareHandler<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
|
|
155
|
-
|
|
155
|
+
state: {};
|
|
156
156
|
}> = (context: MiddlewareContext<Singleton>, next: () => Promise<Response>) => MaybePromise<Route['response'] | void>;
|
|
157
157
|
export type AfterResponseHandler<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
|
|
158
|
-
|
|
158
|
+
state: {};
|
|
159
159
|
}> = (context: Prettify<Context<Route, Singleton> & {
|
|
160
160
|
response: Route['response'];
|
|
161
161
|
}>) => MaybePromise<void>;
|
|
162
162
|
export type ErrorHandler<in out T extends Record<string, Error> = {}, in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
|
|
163
|
-
|
|
163
|
+
state: {};
|
|
164
164
|
}> = (context: ErrorContext<Route, {
|
|
165
|
-
|
|
165
|
+
state: Singleton['state'];
|
|
166
166
|
}> & (Prettify<{
|
|
167
167
|
request: Request;
|
|
168
168
|
code: 'UNKNOWN';
|
|
169
169
|
error: Readonly<Error>;
|
|
170
|
-
} & Partial<Singleton['
|
|
170
|
+
} & Partial<Singleton['state']>> | Prettify<{
|
|
171
171
|
request: Request;
|
|
172
172
|
code: 'VALIDATION';
|
|
173
173
|
error: Readonly<ValidationError>;
|
|
174
|
-
} & Singleton['
|
|
174
|
+
} & Singleton['state']> | Prettify<{
|
|
175
175
|
request: Request;
|
|
176
176
|
code: 'PARSE';
|
|
177
177
|
error: Readonly<ParseError>;
|
|
178
|
-
} & Singleton['
|
|
178
|
+
} & Singleton['state']> | Prettify<{
|
|
179
179
|
request: Request;
|
|
180
180
|
code: 'INTERNAL_SERVER_ERROR';
|
|
181
181
|
error: Readonly<InternalServerError>;
|
|
182
|
-
} & Partial<Singleton['
|
|
182
|
+
} & Partial<Singleton['state']>> | Prettify<{
|
|
183
183
|
[K in keyof T]: {
|
|
184
184
|
request: Request;
|
|
185
185
|
code: K;
|
|
186
186
|
error: Readonly<T[K]>;
|
|
187
187
|
};
|
|
188
|
-
}[keyof T] & Partial<Singleton['
|
|
188
|
+
}[keyof T] & Partial<Singleton['state']>>)) => any | Promise<any>;
|
|
189
189
|
export type Isolate<T> = {
|
|
190
190
|
[P in keyof T]: T[P];
|
|
191
191
|
};
|
|
@@ -256,7 +256,7 @@ type _ComposeSpiceflowResponse<Response, Handle> = Prettify<{} extends Response
|
|
|
256
256
|
} ? Status : never]: ErrorResponse['response'];
|
|
257
257
|
} : Response>;
|
|
258
258
|
export type MergeSpiceflowInstances<Instances extends Spiceflow<any, any, any, any, any, any>[] = [], Prefix extends string = '', Scoped extends boolean = false, Singleton extends SingletonBase = {
|
|
259
|
-
|
|
259
|
+
state: {};
|
|
260
260
|
}, Definitions extends DefinitionBase = {
|
|
261
261
|
type: {};
|
|
262
262
|
error: {};
|
|
@@ -268,7 +268,7 @@ export type MergeSpiceflowInstances<Instances extends Spiceflow<any, any, any, a
|
|
|
268
268
|
infer Current extends Spiceflow<any, any, any, any, any, any>,
|
|
269
269
|
...infer Rest extends Spiceflow<any, any, any, any, any, any>[]
|
|
270
270
|
] ? Current['_types']['Scoped'] extends true ? MergeSpiceflowInstances<Rest, Prefix, Scoped, Singleton, Definitions, Metadata, Routes> : MergeSpiceflowInstances<Rest, Prefix, Scoped, Singleton & Current['_types']['Singleton'], Definitions & Current['_types']['Definitions'], Metadata & Current['_types']['Metadata'], Routes & (Prefix extends `` ? Current['_routes'] : AddPrefix<Prefix, Current['_routes']>)> : Spiceflow<Prefix, Scoped, {
|
|
271
|
-
|
|
271
|
+
state: Prettify<Singleton['state']>;
|
|
272
272
|
}, {
|
|
273
273
|
type: Prettify<Definitions['type']>;
|
|
274
274
|
error: Prettify<Definitions['error']>;
|
package/package.json
CHANGED
package/src/context.ts
CHANGED
|
@@ -12,13 +12,12 @@ import type {
|
|
|
12
12
|
HTTPHeaders,
|
|
13
13
|
} from './types.js'
|
|
14
14
|
|
|
15
|
-
import {
|
|
15
|
+
import { SpiceflowRequest } from './spiceflow.js'
|
|
16
16
|
|
|
17
17
|
export type ErrorContext<
|
|
18
18
|
in out Route extends RouteSchema = {},
|
|
19
19
|
in out Singleton extends SingletonBase = {
|
|
20
|
-
|
|
21
|
-
store: {}
|
|
20
|
+
state: {}
|
|
22
21
|
derive: {}
|
|
23
22
|
resolve: {}
|
|
24
23
|
},
|
|
@@ -53,22 +52,20 @@ export type ErrorContext<
|
|
|
53
52
|
* @example '/id/:id'
|
|
54
53
|
*/
|
|
55
54
|
// route: string
|
|
56
|
-
request:
|
|
57
|
-
|
|
55
|
+
request: SpiceflowRequest<Route['body']>
|
|
56
|
+
state: Singleton['state']
|
|
58
57
|
// response: Route['response']
|
|
59
58
|
}>
|
|
60
59
|
|
|
61
60
|
export type Context<
|
|
62
61
|
in out Route extends RouteSchema = {},
|
|
63
62
|
in out Singleton extends SingletonBase = {
|
|
64
|
-
|
|
65
|
-
store: {}
|
|
63
|
+
state: {}
|
|
66
64
|
derive: {}
|
|
67
65
|
resolve: {}
|
|
68
66
|
},
|
|
69
67
|
Path extends string = '',
|
|
70
68
|
> = Prettify<{
|
|
71
|
-
// body: Route['body']
|
|
72
69
|
query: undefined extends Route['query']
|
|
73
70
|
? Record<string, string | undefined>
|
|
74
71
|
: Route['query']
|
|
@@ -81,35 +78,20 @@ export type Context<
|
|
|
81
78
|
// server: Server | null
|
|
82
79
|
redirect: Redirect
|
|
83
80
|
|
|
84
|
-
/**
|
|
85
|
-
* Path extracted from incoming URL
|
|
86
|
-
*
|
|
87
|
-
* Represent a value extracted from URL
|
|
88
|
-
*
|
|
89
|
-
* @example '/id/9'
|
|
90
|
-
*/
|
|
91
81
|
path: string
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
* Represent a path registered to a router, not a URL
|
|
96
|
-
*
|
|
97
|
-
* @example '/id/:id'
|
|
98
|
-
*/
|
|
99
|
-
// route: string
|
|
100
|
-
request: TypedRequest<Route['body']>
|
|
101
|
-
store: Singleton['store']
|
|
82
|
+
|
|
83
|
+
request: SpiceflowRequest<Route['body']>
|
|
84
|
+
state: Singleton['state']
|
|
102
85
|
response?: Route['response']
|
|
103
86
|
}>
|
|
104
87
|
|
|
105
88
|
// Use to mimic request before mapping route
|
|
106
89
|
export type MiddlewareContext<
|
|
107
90
|
in out Singleton extends SingletonBase = {
|
|
108
|
-
|
|
109
|
-
store: {}
|
|
91
|
+
state: {}
|
|
110
92
|
},
|
|
111
93
|
> = Prettify<{
|
|
112
|
-
|
|
94
|
+
state: Singleton['state']
|
|
113
95
|
request: Request
|
|
114
96
|
path: string
|
|
115
97
|
query?: Record<string, string | undefined>
|
package/src/middleware.test.ts
CHANGED
|
@@ -144,3 +144,32 @@ test('middleware changes handler response body', async () => {
|
|
|
144
144
|
expect(middlewaresCalled).toEqual(['first', 'second'])
|
|
145
145
|
expect(await res.json()).toEqual('HELLO WORLD')
|
|
146
146
|
})
|
|
147
|
+
|
|
148
|
+
test('mutating response returned by next without returning it works', async () => {
|
|
149
|
+
let handlerCalledTimes = 0
|
|
150
|
+
const res = await new Spiceflow()
|
|
151
|
+
.use(async (ctx, next) => {
|
|
152
|
+
const response = await next()
|
|
153
|
+
if (response) {
|
|
154
|
+
response.headers.set('X-Custom-Header', 'Modified')
|
|
155
|
+
}
|
|
156
|
+
// Not returning the response, letting it pass through
|
|
157
|
+
})
|
|
158
|
+
.use(async (ctx, next) => {
|
|
159
|
+
const response = await next()
|
|
160
|
+
if (response) {
|
|
161
|
+
response.headers.set('X-Another-Header', 'Added')
|
|
162
|
+
}
|
|
163
|
+
})
|
|
164
|
+
.get('/test', () => {
|
|
165
|
+
handlerCalledTimes++
|
|
166
|
+
return 'hello world'
|
|
167
|
+
})
|
|
168
|
+
.handle(new Request('http://localhost/test'))
|
|
169
|
+
|
|
170
|
+
expect(res.status).toBe(200)
|
|
171
|
+
expect(handlerCalledTimes).toBe(1)
|
|
172
|
+
expect(await res.json()).toBe('hello world')
|
|
173
|
+
expect(res.headers.get('X-Custom-Header')).toBe('Modified')
|
|
174
|
+
expect(res.headers.get('X-Another-Header')).toBe('Added')
|
|
175
|
+
})
|
package/src/spiceflow.test.ts
CHANGED
|
@@ -28,6 +28,59 @@ test('GET dynamic route', async () => {
|
|
|
28
28
|
expect(await res.json()).toEqual('hi')
|
|
29
29
|
})
|
|
30
30
|
|
|
31
|
+
test('onError does not fire on 404', async () => {
|
|
32
|
+
let errorFired = false
|
|
33
|
+
const app = new Spiceflow()
|
|
34
|
+
.get('/test', () => 'Hello')
|
|
35
|
+
.onError(() => {
|
|
36
|
+
errorFired = true
|
|
37
|
+
return new Response('Error', { status: 500 })
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
const res = await app.handle(
|
|
41
|
+
new Request('http://localhost/non-existent', { method: 'GET' }),
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
expect(res.status).toBe(404)
|
|
45
|
+
expect(errorFired).toBe(false)
|
|
46
|
+
expect(await res.text()).toBe('Not Found')
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
test('onError fires on validation errors', async () => {
|
|
50
|
+
let errorMessage = ''
|
|
51
|
+
const app = new Spiceflow()
|
|
52
|
+
.post(
|
|
53
|
+
'/test',
|
|
54
|
+
async ({ request }) => {
|
|
55
|
+
await request.json()
|
|
56
|
+
return 'Success'
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
body: z.object({
|
|
60
|
+
name: z.string(),
|
|
61
|
+
}),
|
|
62
|
+
},
|
|
63
|
+
)
|
|
64
|
+
.onError(({ error }) => {
|
|
65
|
+
errorMessage = error.message
|
|
66
|
+
return new Response('Error', { status: 400 })
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
const res = await app.handle(
|
|
70
|
+
new Request('http://localhost/test', {
|
|
71
|
+
method: 'POST',
|
|
72
|
+
headers: {
|
|
73
|
+
'Content-Type': 'application/json',
|
|
74
|
+
},
|
|
75
|
+
body: JSON.stringify({ name: 1 }), // Invalid type for 'name'
|
|
76
|
+
}),
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
expect(res.status).toBe(400)
|
|
80
|
+
expect(errorMessage).toContain('data/name must be string')
|
|
81
|
+
expect(await res.text()).toBe('Error')
|
|
82
|
+
})
|
|
83
|
+
|
|
31
84
|
test.todo('HEAD uses GET route, does not add body', async () => {
|
|
32
85
|
const app = new Spiceflow().get('/ids/:id', () => {
|
|
33
86
|
console.trace('GET')
|
|
@@ -142,11 +195,11 @@ test('missing route is not found', async () => {
|
|
|
142
195
|
test('state works', async () => {
|
|
143
196
|
const res = await new Spiceflow()
|
|
144
197
|
.state('id', '')
|
|
145
|
-
.use(({
|
|
146
|
-
|
|
198
|
+
.use(({ state, request }) => {
|
|
199
|
+
state.id = 'xxx'
|
|
147
200
|
})
|
|
148
|
-
.get('/get', ({
|
|
149
|
-
expect(
|
|
201
|
+
.get('/get', ({ state: state }) => {
|
|
202
|
+
expect(state.id).toBe('xxx')
|
|
150
203
|
})
|
|
151
204
|
.handle(new Request('http://localhost/get'))
|
|
152
205
|
expect(res.status).toBe(200)
|
package/src/spiceflow.ts
CHANGED
|
@@ -72,8 +72,6 @@ export type InternalRoute = {
|
|
|
72
72
|
validateQuery?: ValidateFunction
|
|
73
73
|
validateParams?: ValidateFunction
|
|
74
74
|
// prefix: string
|
|
75
|
-
|
|
76
|
-
// store: Record<any, any>
|
|
77
75
|
}
|
|
78
76
|
|
|
79
77
|
type MedleyRouter = {
|
|
@@ -94,7 +92,7 @@ export class Spiceflow<
|
|
|
94
92
|
const in out BasePath extends string = '',
|
|
95
93
|
const in out Scoped extends boolean = true,
|
|
96
94
|
const in out Singleton extends SingletonBase = {
|
|
97
|
-
|
|
95
|
+
state: {}
|
|
98
96
|
},
|
|
99
97
|
const in out Definitions extends DefinitionBase = {
|
|
100
98
|
type: {}
|
|
@@ -112,7 +110,7 @@ export class Spiceflow<
|
|
|
112
110
|
private middlewares: Function[] = []
|
|
113
111
|
private onErrorHandlers: OnError[] = []
|
|
114
112
|
private routes: InternalRoute[] = []
|
|
115
|
-
private
|
|
113
|
+
private defaultState: Record<any, any> = {}
|
|
116
114
|
private topLevelApp?: AnySpiceflow
|
|
117
115
|
|
|
118
116
|
/** @internal */
|
|
@@ -244,8 +242,8 @@ export class Spiceflow<
|
|
|
244
242
|
BasePath,
|
|
245
243
|
Scoped,
|
|
246
244
|
{
|
|
247
|
-
|
|
248
|
-
Singleton['
|
|
245
|
+
state: Reconcile<
|
|
246
|
+
Singleton['state'],
|
|
249
247
|
{
|
|
250
248
|
[name in Name]: Value
|
|
251
249
|
}
|
|
@@ -255,7 +253,7 @@ export class Spiceflow<
|
|
|
255
253
|
Metadata,
|
|
256
254
|
Routes
|
|
257
255
|
> {
|
|
258
|
-
this.
|
|
256
|
+
this.defaultState[name] = value
|
|
259
257
|
return this as any
|
|
260
258
|
}
|
|
261
259
|
|
|
@@ -724,7 +722,7 @@ export class Spiceflow<
|
|
|
724
722
|
MiddlewareHandler<
|
|
725
723
|
Schema,
|
|
726
724
|
{
|
|
727
|
-
|
|
725
|
+
state: Singleton['state']
|
|
728
726
|
}
|
|
729
727
|
>
|
|
730
728
|
>,
|
|
@@ -770,81 +768,75 @@ export class Spiceflow<
|
|
|
770
768
|
(x) => x.onErrorHandlers,
|
|
771
769
|
)
|
|
772
770
|
let {
|
|
773
|
-
params,
|
|
774
|
-
app: { defaultStore },
|
|
771
|
+
params: _params,
|
|
772
|
+
app: { defaultState: defaultStore },
|
|
775
773
|
} = route
|
|
776
774
|
const middlewares = this.getAppsInScope(route.app).flatMap(
|
|
777
775
|
(x) => x.middlewares,
|
|
778
776
|
)
|
|
779
777
|
// console.log({ onReqHandlers })
|
|
780
|
-
let
|
|
778
|
+
let state = { ...defaultStore }
|
|
781
779
|
|
|
782
780
|
let content = route?.internalRoute?.hooks?.content
|
|
783
781
|
|
|
784
782
|
if (route.internalRoute?.validateBody) {
|
|
785
783
|
// TODO don't clone the request
|
|
786
784
|
let typedRequest =
|
|
787
|
-
request instanceof
|
|
785
|
+
request instanceof SpiceflowRequest
|
|
788
786
|
? request
|
|
789
|
-
: new
|
|
787
|
+
: new SpiceflowRequest(request)
|
|
790
788
|
typedRequest.validateBody = route.internalRoute?.validateBody
|
|
791
789
|
request = typedRequest
|
|
792
790
|
}
|
|
793
791
|
|
|
794
|
-
let query = parseQuery.parse((u.search || '').slice(1))
|
|
795
|
-
|
|
796
792
|
let index = 0
|
|
797
|
-
|
|
793
|
+
let context = {
|
|
794
|
+
...defaultContext,
|
|
795
|
+
request,
|
|
796
|
+
state,
|
|
797
|
+
path,
|
|
798
|
+
query: parseQuery.parse((u.search || '').slice(1)),
|
|
799
|
+
params: _params,
|
|
800
|
+
redirect,
|
|
801
|
+
} satisfies MiddlewareContext<any>
|
|
802
|
+
let handlerResponse: Response | undefined
|
|
798
803
|
const next = async () => {
|
|
799
804
|
if (index < middlewares.length) {
|
|
800
805
|
const middleware = middlewares[index]
|
|
801
806
|
index++
|
|
802
|
-
|
|
803
|
-
request,
|
|
804
|
-
store,
|
|
805
|
-
path,
|
|
806
|
-
query,
|
|
807
|
-
params,
|
|
808
|
-
redirect,
|
|
809
|
-
} satisfies MiddlewareContext<any>
|
|
807
|
+
|
|
810
808
|
const result = await middleware(context, next)
|
|
811
809
|
|
|
812
810
|
if (!result && index < middlewares.length) {
|
|
813
|
-
return await next()
|
|
814
811
|
} else if (result) {
|
|
815
812
|
return await turnHandlerResultIntoResponse(result)
|
|
816
813
|
}
|
|
817
814
|
}
|
|
815
|
+
if (handlerResponse) {
|
|
816
|
+
return handlerResponse
|
|
817
|
+
}
|
|
818
818
|
|
|
819
|
-
query = runValidation(
|
|
820
|
-
|
|
821
|
-
|
|
819
|
+
context.query = runValidation(
|
|
820
|
+
context.query,
|
|
821
|
+
route.internalRoute?.validateQuery,
|
|
822
|
+
)
|
|
823
|
+
context.params = runValidation(
|
|
824
|
+
context.params,
|
|
822
825
|
route.internalRoute?.validateParams,
|
|
823
826
|
)
|
|
824
827
|
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
const res = route.internalRoute?.handler({
|
|
828
|
-
...defaultContext,
|
|
829
|
-
request,
|
|
830
|
-
params: params as any,
|
|
831
|
-
redirect,
|
|
832
|
-
store,
|
|
833
|
-
query,
|
|
834
|
-
// body,
|
|
835
|
-
path,
|
|
836
|
-
|
|
837
|
-
// platform
|
|
838
|
-
} satisfies Context<any, any, any>)
|
|
828
|
+
const res = route.internalRoute?.handler(context)
|
|
839
829
|
if (isAsyncIterable(res)) {
|
|
840
|
-
|
|
830
|
+
handlerResponse = await this.handleStream({
|
|
841
831
|
generator: res,
|
|
842
832
|
request,
|
|
843
833
|
onErrorHandlers,
|
|
844
834
|
})
|
|
835
|
+
return handlerResponse
|
|
845
836
|
}
|
|
846
837
|
|
|
847
|
-
|
|
838
|
+
handlerResponse = await turnHandlerResultIntoResponse(res)
|
|
839
|
+
return handlerResponse
|
|
848
840
|
}
|
|
849
841
|
const response = await next()
|
|
850
842
|
|
|
@@ -856,6 +848,7 @@ export class Spiceflow<
|
|
|
856
848
|
error: err,
|
|
857
849
|
request,
|
|
858
850
|
})
|
|
851
|
+
if (res instanceof Response) return res
|
|
859
852
|
|
|
860
853
|
let status = err?.status ?? 500
|
|
861
854
|
res ||= new Response(err?.message || 'Internal Server Error', {
|
|
@@ -985,7 +978,7 @@ export class Spiceflow<
|
|
|
985
978
|
req.url || '',
|
|
986
979
|
`http://${req.headers.host || hostname || 'localhost'}`,
|
|
987
980
|
)
|
|
988
|
-
const typedRequest = new
|
|
981
|
+
const typedRequest = new SpiceflowRequest(url.toString(), {
|
|
989
982
|
method: req.method,
|
|
990
983
|
headers: req.headers as HeadersInit,
|
|
991
984
|
body:
|
|
@@ -1205,7 +1198,7 @@ function bfsFind<T>(
|
|
|
1205
1198
|
}
|
|
1206
1199
|
return
|
|
1207
1200
|
}
|
|
1208
|
-
export class
|
|
1201
|
+
export class SpiceflowRequest<T = any> extends Request {
|
|
1209
1202
|
validateBody?: ValidateFunction
|
|
1210
1203
|
|
|
1211
1204
|
async json(): Promise<T> {
|