Raw ASGI (Uvicorn, Granian, Hypercorn) Python
/pixel.gif 요청에 빈 GIF로 응답하는 Raw ASGI (Uvicorn, Granian, Hypercorn)용 Python 스니펫입니다. GIF는 시작할 때 한 번만 디코딩합니다.
Raw ASGI (Uvicorn, Granian, Hypercorn) Python
import base64
GIF = base64.b64decode("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")
HEADERS = [
(b"content-type", b"image/gif"),
(b"content-length", str(len(GIF)).encode()),
(b"cache-control", b"no-store"),
]
async def app(scope, receive, send):
if scope["type"] != "http":
return
if scope["method"] == "GET" and scope["path"] == "/pixel.gif":
await send({"type": "http.response.start", "status": 200, "headers": HEADERS})
await send({"type": "http.response.body", "body": GIF})
else:
await send({"type": "http.response.start", "status": 404, "headers": []})
await send({"type": "http.response.body", "body": b""})
이 스니펫은 실행해 보고, 반환된 바이트를 비교했습니다.
확인
curl -sI http://localhost:8080/pixel.gif
공식 사이트: Raw ASGI (Uvicorn, Granian, Hypercorn)