feat(API-11): Route API calls through AgilitonAPI gateway

Add gateway-first pattern: when AGILITON_API_KEY is set, route all
external API calls through the gateway with X-API-Key auth. Falls back
to direct API access when gateway is unavailable.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Christian Gick
2026-02-11 19:05:20 +02:00
parent 9f7c8faf60
commit bdbb39a0f5
3818 changed files with 857096 additions and 4 deletions

View File

@@ -0,0 +1,25 @@
// src/middleware/trailing-slash/index.ts
var trimTrailingSlash = () => {
return async function trimTrailingSlash2(c, next) {
await next();
if (c.res.status === 404 && (c.req.method === "GET" || c.req.method === "HEAD") && c.req.path !== "/" && c.req.path.at(-1) === "/") {
const url = new URL(c.req.url);
url.pathname = url.pathname.substring(0, url.pathname.length - 1);
c.res = c.redirect(url.toString(), 301);
}
};
};
var appendTrailingSlash = () => {
return async function appendTrailingSlash2(c, next) {
await next();
if (c.res.status === 404 && (c.req.method === "GET" || c.req.method === "HEAD") && c.req.path.at(-1) !== "/") {
const url = new URL(c.req.url);
url.pathname += "/";
c.res = c.redirect(url.toString(), 301);
}
};
};
export {
appendTrailingSlash,
trimTrailingSlash
};