vibe.d D
/pixel.gif 요청에 빈 GIF로 응답하는 vibe.d용 D 스니펫입니다. GIF는 시작할 때 한 번만 디코딩합니다.
vibe.d D
/+ dub.sdl:
name "pixel"
dependency "vibe-d" version="~>0.10"
+/
import vibe.vibe;
immutable ubyte[] gif = [0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x01, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x21, 0xf9, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x02, 0x44, 0x01, 0x00, 0x3b];
void pixel(HTTPServerRequest req, HTTPServerResponse res) @safe
{
res.headers["Cache-Control"] = "no-store";
res.writeBody(gif, "image/gif");
}
void main()
{
auto router = new URLRouter;
router.get("/pixel.gif", &pixel);
auto settings = new HTTPServerSettings;
settings.port = 8080;
auto listener = listenHTTP(settings, router);
scope (exit) listener.stopListening();
runApplication();
}
프레임워크의 최신 문서와 대조해 확인했습니다.
확인
curl -sI http://localhost:8080/pixel.gif