spiceflow 1.4.0 → 1.4.1
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/dist/client/errors.js +4 -1
- package/dist/client/errors.js.map +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +59 -49
- package/dist/client/index.js.map +1 -1
- package/dist/client.test.js +22 -63
- package/dist/client.test.js.map +1 -1
- package/dist/cors.js +8 -6
- package/dist/cors.js.map +1 -1
- package/dist/error.js +8 -18
- package/dist/error.js.map +1 -1
- package/dist/mcp-transport.js +12 -8
- package/dist/mcp-transport.js.map +1 -1
- package/dist/mcp.js +10 -12
- package/dist/mcp.js.map +1 -1
- package/dist/middleware.test.js +2 -2
- package/dist/middleware.test.js.map +1 -1
- package/dist/openapi.js +117 -77
- package/dist/openapi.js.map +1 -1
- package/dist/openapi.test.js +10 -27
- package/dist/openapi.test.js.map +1 -1
- package/dist/spiceflow.js +76 -98
- package/dist/spiceflow.js.map +1 -1
- package/dist/spiceflow.test.js +12 -61
- package/dist/spiceflow.test.js.map +1 -1
- package/dist/static-node.js +6 -3
- package/dist/static-node.js.map +1 -1
- package/dist/static.js +3 -5
- package/dist/static.js.map +1 -1
- package/dist/stream.test.js +36 -65
- package/dist/stream.test.js.map +1 -1
- package/dist/types.test.js +10 -45
- package/dist/types.test.js.map +1 -1
- package/package.json +1 -1
- package/src/client/index.ts +12 -3
- package/src/client.test.ts +9 -3
- package/src/middleware.test.ts +1 -1
package/dist/openapi.test.js
CHANGED
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
2
|
-
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
3
|
-
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
4
|
-
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
5
|
-
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
6
|
-
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
|
|
7
|
-
function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
|
|
8
|
-
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
9
|
-
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
10
|
-
function fulfill(value) { resume("next", value); }
|
|
11
|
-
function reject(value) { resume("throw", value); }
|
|
12
|
-
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
13
|
-
};
|
|
14
1
|
import { expect, test } from 'vitest';
|
|
15
2
|
import { Spiceflow } from './spiceflow.js';
|
|
16
3
|
import { openapi } from './openapi.js';
|
|
@@ -76,13 +63,11 @@ test('openapi response', async () => {
|
|
|
76
63
|
name: z.string().optional(),
|
|
77
64
|
}),
|
|
78
65
|
})
|
|
79
|
-
.get('/stream', function () {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
});
|
|
66
|
+
.get('/stream', async function* () {
|
|
67
|
+
for (let i = 0; i < 3; i++) {
|
|
68
|
+
yield { count: i };
|
|
69
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
|
70
|
+
}
|
|
86
71
|
}, {
|
|
87
72
|
detail: {
|
|
88
73
|
description: 'This is a stream',
|
|
@@ -91,13 +76,11 @@ test('openapi response', async () => {
|
|
|
91
76
|
// count: z.number(),
|
|
92
77
|
// }),
|
|
93
78
|
})
|
|
94
|
-
.get('/streamWithSchema', function () {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
});
|
|
79
|
+
.get('/streamWithSchema', async function* () {
|
|
80
|
+
for (let i = 0; i < 3; i++) {
|
|
81
|
+
yield { count: i };
|
|
82
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
|
83
|
+
}
|
|
101
84
|
}, {
|
|
102
85
|
detail: {
|
|
103
86
|
description: 'This is a stream with schema',
|
package/dist/openapi.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.test.js","sourceRoot":"","sources":["../src/openapi.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openapi.test.js","sourceRoot":"","sources":["../src/openapi.test.ts"],"names":[],"mappings":"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"}
|
package/dist/spiceflow.js
CHANGED
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
-
var t = {};
|
|
3
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
-
t[p] = s[p];
|
|
5
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
-
t[p[i]] = s[p[i]];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
13
|
-
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
14
|
-
var m = o[Symbol.asyncIterator], i;
|
|
15
|
-
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
16
|
-
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
17
|
-
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
18
|
-
};
|
|
19
1
|
import { Type } from '@sinclair/typebox';
|
|
20
2
|
export { Type as t };
|
|
21
3
|
import addFormats from 'ajv-formats';
|
|
@@ -46,6 +28,17 @@ const notFoundHandler = (c) => {
|
|
|
46
28
|
return new Response('Not Found', { status: 404 });
|
|
47
29
|
};
|
|
48
30
|
export class Spiceflow {
|
|
31
|
+
id = globalIndex++;
|
|
32
|
+
router = new OriginalRouter();
|
|
33
|
+
middlewares = [];
|
|
34
|
+
onErrorHandlers = [];
|
|
35
|
+
routes = [];
|
|
36
|
+
defaultState = {};
|
|
37
|
+
topLevelApp;
|
|
38
|
+
/** @internal */
|
|
39
|
+
prefix;
|
|
40
|
+
/** @internal */
|
|
41
|
+
childrenApps = [];
|
|
49
42
|
/** @internal */
|
|
50
43
|
getAllRoutes() {
|
|
51
44
|
let root = this.topLevelApp || this;
|
|
@@ -54,16 +47,15 @@ export class Spiceflow {
|
|
|
54
47
|
const prefix = this.getAppAndParents(x)
|
|
55
48
|
.map((x) => x.prefix)
|
|
56
49
|
.join('');
|
|
57
|
-
return x.routes.map((x) => (
|
|
50
|
+
return x.routes.map((x) => ({ ...x, path: prefix + x.path }));
|
|
58
51
|
});
|
|
59
52
|
return allRoutes;
|
|
60
53
|
}
|
|
61
|
-
add(
|
|
62
|
-
|
|
63
|
-
let bodySchema = hooks === null || hooks === void 0 ? void 0 : hooks.body;
|
|
54
|
+
add({ method, path, hooks, handler, ...rest }) {
|
|
55
|
+
let bodySchema = hooks?.body;
|
|
64
56
|
let validateBody = getValidateFunction(bodySchema);
|
|
65
|
-
let validateQuery = getValidateFunction(hooks
|
|
66
|
-
let validateParams = getValidateFunction(hooks
|
|
57
|
+
let validateQuery = getValidateFunction(hooks?.query);
|
|
58
|
+
let validateParams = getValidateFunction(hooks?.params);
|
|
67
59
|
if (typeof handler === 'function' && !handler.name) {
|
|
68
60
|
Object.defineProperty(handler, 'name', {
|
|
69
61
|
value: path,
|
|
@@ -71,12 +63,19 @@ export class Spiceflow {
|
|
|
71
63
|
});
|
|
72
64
|
}
|
|
73
65
|
// remove trailing slash which can cause problems
|
|
74
|
-
path =
|
|
66
|
+
path = path?.replace(/\/$/, '') || '/';
|
|
75
67
|
const store = this.router.register(path);
|
|
76
|
-
let route =
|
|
68
|
+
let route = {
|
|
69
|
+
...rest,
|
|
70
|
+
type: hooks?.type || '',
|
|
71
|
+
method: (method || ''),
|
|
72
|
+
path: path || '',
|
|
73
|
+
handler: handler,
|
|
74
|
+
hooks,
|
|
77
75
|
validateBody,
|
|
78
76
|
validateParams,
|
|
79
|
-
validateQuery
|
|
77
|
+
validateQuery,
|
|
78
|
+
};
|
|
80
79
|
this.routes.push(route);
|
|
81
80
|
store[method] = route;
|
|
82
81
|
}
|
|
@@ -115,7 +114,7 @@ export class Spiceflow {
|
|
|
115
114
|
}
|
|
116
115
|
if (method === 'HEAD') {
|
|
117
116
|
let internalRouteGet = medleyRoute.store['GET'];
|
|
118
|
-
if (!
|
|
117
|
+
if (!internalRouteGet?.handler) {
|
|
119
118
|
return;
|
|
120
119
|
}
|
|
121
120
|
return {
|
|
@@ -160,26 +159,17 @@ export class Spiceflow {
|
|
|
160
159
|
* @param options {@link RouterOptions} {@link Platform}
|
|
161
160
|
*/
|
|
162
161
|
constructor(options = {}) {
|
|
163
|
-
this.id = globalIndex++;
|
|
164
|
-
this.router = new OriginalRouter();
|
|
165
|
-
this.middlewares = [];
|
|
166
|
-
this.onErrorHandlers = [];
|
|
167
|
-
this.routes = [];
|
|
168
|
-
this.defaultState = {};
|
|
169
|
-
/** @internal */
|
|
170
|
-
this.childrenApps = [];
|
|
171
|
-
this._routes = {};
|
|
172
|
-
this._types = {
|
|
173
|
-
Prefix: '',
|
|
174
|
-
Scoped: false,
|
|
175
|
-
Singleton: {},
|
|
176
|
-
Definitions: {},
|
|
177
|
-
Metadata: {},
|
|
178
|
-
};
|
|
179
|
-
this.scoped = true;
|
|
180
162
|
this.scoped = options.scoped;
|
|
181
163
|
this.prefix = options.basePath;
|
|
182
164
|
}
|
|
165
|
+
_routes = {};
|
|
166
|
+
_types = {
|
|
167
|
+
Prefix: '',
|
|
168
|
+
Scoped: false,
|
|
169
|
+
Singleton: {},
|
|
170
|
+
Definitions: {},
|
|
171
|
+
Metadata: {},
|
|
172
|
+
};
|
|
183
173
|
post(path, handler, hook) {
|
|
184
174
|
this.add({ method: 'POST', path, handler: handler, hooks: hook });
|
|
185
175
|
return this;
|
|
@@ -214,25 +204,23 @@ export class Spiceflow {
|
|
|
214
204
|
this.add({ method: 'HEAD', path, handler: handler, hooks: hook });
|
|
215
205
|
return this;
|
|
216
206
|
}
|
|
207
|
+
scoped = true;
|
|
217
208
|
use(appOrHandler) {
|
|
218
|
-
var _a;
|
|
219
209
|
if (appOrHandler instanceof Spiceflow) {
|
|
220
210
|
this.childrenApps.push(appOrHandler);
|
|
221
211
|
}
|
|
222
212
|
else if (typeof appOrHandler === 'function') {
|
|
223
|
-
|
|
213
|
+
this.middlewares ??= [];
|
|
224
214
|
this.middlewares.push(appOrHandler);
|
|
225
215
|
}
|
|
226
216
|
return this;
|
|
227
217
|
}
|
|
228
218
|
onError(handler) {
|
|
229
|
-
|
|
230
|
-
(_a = this.onErrorHandlers) !== null && _a !== void 0 ? _a : (this.onErrorHandlers = []);
|
|
219
|
+
this.onErrorHandlers ??= [];
|
|
231
220
|
this.onErrorHandlers.push(handler);
|
|
232
221
|
return this;
|
|
233
222
|
}
|
|
234
223
|
async handle(request) {
|
|
235
|
-
var _a, _b, _c, _d;
|
|
236
224
|
let u = new URL(request.url, 'http://localhost');
|
|
237
225
|
const self = this;
|
|
238
226
|
let path = u.pathname + u.search;
|
|
@@ -249,22 +237,27 @@ export class Spiceflow {
|
|
|
249
237
|
let { params: _params, app: { defaultState }, } = route;
|
|
250
238
|
const middlewares = appsInScope.flatMap((x) => x.middlewares);
|
|
251
239
|
let state = structuredClone(defaultState);
|
|
252
|
-
let content =
|
|
253
|
-
if (
|
|
240
|
+
let content = route?.internalRoute?.hooks?.content;
|
|
241
|
+
if (route.internalRoute?.validateBody) {
|
|
254
242
|
// TODO don't clone the request
|
|
255
243
|
let typedRequest = request instanceof SpiceflowRequest
|
|
256
244
|
? request
|
|
257
245
|
: new SpiceflowRequest(u, request);
|
|
258
|
-
typedRequest.validateBody =
|
|
246
|
+
typedRequest.validateBody = route.internalRoute?.validateBody;
|
|
259
247
|
request = typedRequest;
|
|
260
248
|
}
|
|
261
249
|
let index = 0;
|
|
262
|
-
let context =
|
|
250
|
+
let context = {
|
|
251
|
+
...defaultContext,
|
|
252
|
+
request,
|
|
263
253
|
state,
|
|
264
|
-
path,
|
|
254
|
+
path,
|
|
255
|
+
query: parseQuery((u.search || '').slice(1)),
|
|
256
|
+
params: _params,
|
|
257
|
+
redirect,
|
|
258
|
+
};
|
|
265
259
|
let handlerResponse;
|
|
266
260
|
async function getResForError(err) {
|
|
267
|
-
var _a;
|
|
268
261
|
if (isResponse(err))
|
|
269
262
|
return err;
|
|
270
263
|
let res = await self.runErrorHandlers({
|
|
@@ -274,17 +267,16 @@ export class Spiceflow {
|
|
|
274
267
|
});
|
|
275
268
|
if (isResponse(res))
|
|
276
269
|
return res;
|
|
277
|
-
let status =
|
|
278
|
-
res
|
|
270
|
+
let status = err?.status ?? 500;
|
|
271
|
+
res ||= new Response(JSON.stringify({ message: err?.message || 'Internal Server Error' }), {
|
|
279
272
|
status,
|
|
280
273
|
headers: {
|
|
281
274
|
'content-type': 'application/json',
|
|
282
275
|
},
|
|
283
|
-
})
|
|
276
|
+
});
|
|
284
277
|
return res;
|
|
285
278
|
}
|
|
286
279
|
const next = async () => {
|
|
287
|
-
var _a, _b, _c;
|
|
288
280
|
try {
|
|
289
281
|
if (index < middlewares.length) {
|
|
290
282
|
const middleware = middlewares[index];
|
|
@@ -303,9 +295,9 @@ export class Spiceflow {
|
|
|
303
295
|
if (handlerResponse) {
|
|
304
296
|
return handlerResponse;
|
|
305
297
|
}
|
|
306
|
-
context.query = runValidation(context.query,
|
|
307
|
-
context.params = runValidation(context.params,
|
|
308
|
-
const res = await
|
|
298
|
+
context.query = runValidation(context.query, route.internalRoute?.validateQuery);
|
|
299
|
+
context.params = runValidation(context.params, route.internalRoute?.validateParams);
|
|
300
|
+
const res = await route.internalRoute?.handler(context);
|
|
309
301
|
if (isAsyncIterable(res)) {
|
|
310
302
|
handlerResponse = await this.handleStream({
|
|
311
303
|
generator: res,
|
|
@@ -474,13 +466,12 @@ export class Spiceflow {
|
|
|
474
466
|
let init = generator.next();
|
|
475
467
|
if (init instanceof Promise)
|
|
476
468
|
init = await init;
|
|
477
|
-
if (init
|
|
469
|
+
if (init?.done) {
|
|
478
470
|
return await turnHandlerResultIntoResponse(init.value, route);
|
|
479
471
|
}
|
|
480
472
|
let self = this;
|
|
481
473
|
return new Response(new ReadableStream({
|
|
482
474
|
async start(controller) {
|
|
483
|
-
var _a, e_1, _b, _c;
|
|
484
475
|
let end = false;
|
|
485
476
|
// Set up ping interval
|
|
486
477
|
const pingInterval = setInterval(() => {
|
|
@@ -488,7 +479,7 @@ export class Spiceflow {
|
|
|
488
479
|
controller.enqueue(Buffer.from('\n'));
|
|
489
480
|
}
|
|
490
481
|
}, 10 * 1000);
|
|
491
|
-
request
|
|
482
|
+
request?.signal.addEventListener('abort', async () => {
|
|
492
483
|
end = true;
|
|
493
484
|
clearInterval(pingInterval);
|
|
494
485
|
// Using return() instead of throw() because:
|
|
@@ -499,38 +490,26 @@ export class Spiceflow {
|
|
|
499
490
|
try {
|
|
500
491
|
await generator.return(undefined);
|
|
501
492
|
}
|
|
502
|
-
catch
|
|
493
|
+
catch {
|
|
503
494
|
// Ignore errors from stopping generator
|
|
504
495
|
}
|
|
505
496
|
}
|
|
506
497
|
try {
|
|
507
498
|
controller.close();
|
|
508
499
|
}
|
|
509
|
-
catch
|
|
500
|
+
catch {
|
|
510
501
|
// nothing
|
|
511
502
|
}
|
|
512
503
|
});
|
|
513
|
-
if (
|
|
504
|
+
if (init?.value !== undefined && init?.value !== null)
|
|
514
505
|
controller.enqueue(Buffer.from('event: message\ndata: ' + JSON.stringify(init.value) + '\n\n'));
|
|
515
506
|
try {
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
break;
|
|
523
|
-
if (chunk === undefined || chunk === null)
|
|
524
|
-
continue;
|
|
525
|
-
controller.enqueue(Buffer.from('event: message\ndata: ' + JSON.stringify(chunk) + '\n\n'));
|
|
526
|
-
}
|
|
527
|
-
}
|
|
528
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
529
|
-
finally {
|
|
530
|
-
try {
|
|
531
|
-
if (!_d && !_a && (_b = generator_1.return)) await _b.call(generator_1);
|
|
532
|
-
}
|
|
533
|
-
finally { if (e_1) throw e_1.error; }
|
|
507
|
+
for await (const chunk of generator) {
|
|
508
|
+
if (end)
|
|
509
|
+
break;
|
|
510
|
+
if (chunk === undefined || chunk === null)
|
|
511
|
+
continue;
|
|
512
|
+
controller.enqueue(Buffer.from('event: message\ndata: ' + JSON.stringify(chunk) + '\n\n'));
|
|
534
513
|
}
|
|
535
514
|
}
|
|
536
515
|
catch (error) {
|
|
@@ -547,7 +526,7 @@ export class Spiceflow {
|
|
|
547
526
|
try {
|
|
548
527
|
controller.close();
|
|
549
528
|
}
|
|
550
|
-
catch
|
|
529
|
+
catch {
|
|
551
530
|
// nothing
|
|
552
531
|
}
|
|
553
532
|
},
|
|
@@ -626,13 +605,13 @@ function bfsFind(tree, onNode) {
|
|
|
626
605
|
return;
|
|
627
606
|
}
|
|
628
607
|
export class SpiceflowRequest extends Request {
|
|
608
|
+
validateBody;
|
|
629
609
|
async json() {
|
|
630
610
|
const body = (await super.json());
|
|
631
611
|
return runValidation(body, this.validateBody);
|
|
632
612
|
}
|
|
633
613
|
}
|
|
634
614
|
export function bfs(tree) {
|
|
635
|
-
var _a;
|
|
636
615
|
const queue = [tree];
|
|
637
616
|
let nodes = [];
|
|
638
617
|
while (queue.length > 0) {
|
|
@@ -641,14 +620,13 @@ export function bfs(tree) {
|
|
|
641
620
|
nodes.push(node);
|
|
642
621
|
}
|
|
643
622
|
// const result = onNode(node)
|
|
644
|
-
if (
|
|
623
|
+
if (node?.childrenApps?.length) {
|
|
645
624
|
queue.push(...node.childrenApps);
|
|
646
625
|
}
|
|
647
626
|
}
|
|
648
627
|
return nodes;
|
|
649
628
|
}
|
|
650
629
|
export async function turnHandlerResultIntoResponse(result, route) {
|
|
651
|
-
var _a, _b, _c, _d, _e, _f;
|
|
652
630
|
// if user returns a promise, await it
|
|
653
631
|
if (result instanceof Promise) {
|
|
654
632
|
result = await result;
|
|
@@ -657,14 +635,14 @@ export async function turnHandlerResultIntoResponse(result, route) {
|
|
|
657
635
|
return result;
|
|
658
636
|
}
|
|
659
637
|
if (route.type) {
|
|
660
|
-
if (
|
|
638
|
+
if (route.type?.includes('multipart/form-data')) {
|
|
661
639
|
if (!(result instanceof Response)) {
|
|
662
|
-
throw new Error(`Invalid form data returned from route handler ${route.path} - expected Response but got ${
|
|
640
|
+
throw new Error(`Invalid form data returned from route handler ${route.path} - expected Response but got ${result?.constructor?.name || typeof result}. FormData cannot be returned directly - it must be wrapped in a Response object with the appropriate content-type header.`);
|
|
663
641
|
}
|
|
664
642
|
}
|
|
665
|
-
if (
|
|
643
|
+
if (route.type?.includes('application/x-www-form-urlencoded')) {
|
|
666
644
|
if (!(result instanceof URLSearchParams)) {
|
|
667
|
-
throw new Error(`Invalid URL encoded data returned from route handler ${route.path} - expected URLSearchParams but got ${
|
|
645
|
+
throw new Error(`Invalid URL encoded data returned from route handler ${route.path} - expected URLSearchParams but got ${result?.constructor?.name || typeof result}`);
|
|
668
646
|
}
|
|
669
647
|
return new Response(result, {
|
|
670
648
|
headers: {
|
|
@@ -672,9 +650,9 @@ export async function turnHandlerResultIntoResponse(result, route) {
|
|
|
672
650
|
},
|
|
673
651
|
});
|
|
674
652
|
}
|
|
675
|
-
if (
|
|
653
|
+
if (route.type?.includes('text/plain')) {
|
|
676
654
|
if (typeof result !== 'string') {
|
|
677
|
-
throw new Error(`Invalid text returned from route handler ${route.path} - expected string but got ${
|
|
655
|
+
throw new Error(`Invalid text returned from route handler ${route.path} - expected string but got ${result?.constructor?.name || typeof result}`);
|
|
678
656
|
}
|
|
679
657
|
return new Response(result, {
|
|
680
658
|
headers: {
|
|
@@ -683,7 +661,7 @@ export async function turnHandlerResultIntoResponse(result, route) {
|
|
|
683
661
|
});
|
|
684
662
|
}
|
|
685
663
|
}
|
|
686
|
-
return new Response(JSON.stringify(result
|
|
664
|
+
return new Response(JSON.stringify(result ?? null, null, 2), {
|
|
687
665
|
headers: {
|
|
688
666
|
'content-type': 'application/json',
|
|
689
667
|
},
|
package/dist/spiceflow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spiceflow.js","sourceRoot":"","sources":["../src/spiceflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spiceflow.js","sourceRoot":"","sources":["../src/spiceflow.ts"],"names":[],"mappings":"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"}
|