feat: добавить Image Gateway с кешем Souin
- добавлена сборка Caddy с Souin, Otter и NutsDB - добавлена конфигурация dev, prod и test Docker Compose - настроено кеширование через Otter L1 и NutsDB L2 - добавлены e2e-тесты Bun для кеша, restart и purge - добавлена документация по запуску, API кеша и тестам
This commit is contained in:
30
tests/fixture/server.js
Normal file
30
tests/fixture/server.js
Normal file
@@ -0,0 +1,30 @@
|
||||
const image = Buffer.from(
|
||||
"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGklEQVR4nGP8z8Dwn4ECwESJ5lEDRgYAtP4CHcB7d7gAAAAASUVORK5CYII=",
|
||||
"base64",
|
||||
);
|
||||
|
||||
Bun.serve({
|
||||
port: 8080,
|
||||
fetch(request) {
|
||||
const url = new URL(request.url);
|
||||
|
||||
if (url.pathname === "/health") {
|
||||
return new Response("ok", {
|
||||
headers: { "content-type": "text/plain" },
|
||||
});
|
||||
}
|
||||
|
||||
if (url.pathname === "/image.png") {
|
||||
return new Response(image, {
|
||||
headers: {
|
||||
"cache-control": "public, max-age=31536000",
|
||||
"content-length": String(image.length),
|
||||
"content-type": "image/png",
|
||||
etag: '"fixture-image-v1"',
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
return new Response("not found", { status: 404 });
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user