Nim standard library (asynchttpserver) Nim
A Nim snippet for Nim standard library (asynchttpserver) that answers requests for /pixel.gif with the empty GIF, decoded once at startup.
Nim standard library (asynchttpserver) Nim
import std/[asyncdispatch, asynchttpserver, base64]
# Decoded at compile time; a const is also safe to use from the gcsafe callback.
const gif = decode("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")
proc handler(req: Request) {.async.} =
if req.reqMethod == HttpGet and req.url.path == "/pixel.gif":
let headers = newHttpHeaders({"Content-Type": "image/gif", "Cache-Control": "no-store"})
await req.respond(Http200, gif, headers)
else:
await req.respond(Http404, "Not Found")
let server = newAsyncHttpServer()
waitFor server.serve(Port(8080), handler)
Checked against the framework's current documentation.
Check it
curl -sI http://localhost:8080/pixel.gif