silgi 0.35.0 → 0.35.2
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/cli/index.mjs +1 -1
- package/dist/core/index.mjs +9 -37
- package/dist/types/index.d.mts +2 -2
- package/package.json +1 -1
package/dist/cli/index.mjs
CHANGED
package/dist/core/index.mjs
CHANGED
|
@@ -390,38 +390,6 @@ async function parseRequestInput(req) {
|
|
|
390
390
|
}
|
|
391
391
|
return await req.text();
|
|
392
392
|
}
|
|
393
|
-
function wrapBodyAndContentType(options) {
|
|
394
|
-
let { body, headers } = options;
|
|
395
|
-
const setContentType = (type) => {
|
|
396
|
-
if (!headers)
|
|
397
|
-
headers = {};
|
|
398
|
-
if (headers instanceof Headers) {
|
|
399
|
-
if (!headers.has("Content-Type"))
|
|
400
|
-
headers.set("Content-Type", type);
|
|
401
|
-
} else if (Array.isArray(headers)) {
|
|
402
|
-
if (!headers.some(([k]) => k.toLowerCase() === "content-type")) {
|
|
403
|
-
headers.push(["Content-Type", type]);
|
|
404
|
-
}
|
|
405
|
-
} else {
|
|
406
|
-
if (!("content-type" in headers)) {
|
|
407
|
-
headers["Content-Type"] = type;
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
};
|
|
411
|
-
if (typeof File !== "undefined" && body instanceof File) {
|
|
412
|
-
body = new Blob([body], { type: body.type });
|
|
413
|
-
setContentType(body.type || "application/octet-stream");
|
|
414
|
-
} else if (body instanceof Blob) {
|
|
415
|
-
setContentType(body.type || "application/octet-stream");
|
|
416
|
-
} else if (body && typeof body === "object") {
|
|
417
|
-
body = new Blob([JSON.stringify(body)], { type: "application/json" });
|
|
418
|
-
setContentType("application/json");
|
|
419
|
-
} else if (typeof body === "string") {
|
|
420
|
-
body = new Blob([body], { type: "text/plain" });
|
|
421
|
-
setContentType("text/plain");
|
|
422
|
-
}
|
|
423
|
-
return { body, headers };
|
|
424
|
-
}
|
|
425
393
|
|
|
426
394
|
const plusRegex = /\+/g;
|
|
427
395
|
function parseQuery(input) {
|
|
@@ -834,12 +802,8 @@ function createSilgiCore(event) {
|
|
|
834
802
|
};
|
|
835
803
|
}
|
|
836
804
|
async function silgiFetch(_request, options, context) {
|
|
805
|
+
const silgiCtx = useSilgi();
|
|
837
806
|
let request;
|
|
838
|
-
if (options) {
|
|
839
|
-
const wrapped = wrapBodyAndContentType(options);
|
|
840
|
-
options.body = wrapped.body;
|
|
841
|
-
options.headers = wrapped.headers;
|
|
842
|
-
}
|
|
843
807
|
if (typeof _request === "string") {
|
|
844
808
|
_request = substitutePathParams(_request, options?.pathParams);
|
|
845
809
|
let url = _request;
|
|
@@ -853,6 +817,14 @@ async function silgiFetch(_request, options, context) {
|
|
|
853
817
|
request = new Request(_request, options);
|
|
854
818
|
} else {
|
|
855
819
|
request = _request;
|
|
820
|
+
const match = findRoute(silgiCtx.router, _request.method, _request.url);
|
|
821
|
+
if (!match) {
|
|
822
|
+
throw createError({
|
|
823
|
+
message: "Route not found",
|
|
824
|
+
statusCode: 404,
|
|
825
|
+
statusMessage: "Route not found"
|
|
826
|
+
});
|
|
827
|
+
}
|
|
856
828
|
}
|
|
857
829
|
const silgiEvent = new _SilgiEvent(request, context);
|
|
858
830
|
let handlerRes;
|
package/dist/types/index.d.mts
CHANGED
|
@@ -893,10 +893,10 @@ interface MergedSilgiSchema {
|
|
|
893
893
|
* Creates an object type representing path parameters extracted from a URL pattern.
|
|
894
894
|
*
|
|
895
895
|
* @example
|
|
896
|
-
* PathParamsObject<'/users/:id/posts/:postId'> // { id
|
|
896
|
+
* PathParamsObject<'/users/:id/posts/:postId'> // { id?: string | number, postId?: string | number }
|
|
897
897
|
*/
|
|
898
898
|
type PathParamsObject<S extends string> = {
|
|
899
|
-
[K in ExtractPathParamKeys<S>]
|
|
899
|
+
[K in ExtractPathParamKeys<S>]?: string | number;
|
|
900
900
|
};
|
|
901
901
|
/**
|
|
902
902
|
* Determines if a URL pattern contains any path parameters.
|