Nim standard library (asynchttpserver) Nim
一个用于 Nim standard library (asynchttpserver) 的 Nim 代码片段,以空 GIF 响应对 /pixel.gif 的请求,GIF 在启动时只解码一次。
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)
已对照该框架当前的文档核对。
验证
curl -sI http://localhost:8080/pixel.gif