Oxpecker F#
一个用于 Oxpecker 的 F# 代码片段,以空 GIF 响应对 /pixel.gif 的请求,GIF 在启动时只解码一次。
Oxpecker F#
open System
open Microsoft.AspNetCore.Builder
open Microsoft.Extensions.DependencyInjection
open Oxpecker
let gif = Convert.FromBase64String "R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="
let pixel: EndpointHandler =
setHttpHeader "Content-Type" "image/gif"
>=> setHttpHeader "Cache-Control" "no-store"
>=> bytes gif
let endpoints = [ GET [ route "/pixel.gif" pixel ] ]
let builder = WebApplication.CreateBuilder()
builder.Services.AddRouting().AddOxpecker() |> ignore
let app = builder.Build()
app.UseRouting().UseOxpecker(endpoints) |> ignore
app.Run "http://0.0.0.0:8080"
我们运行了此代码片段,并比对了它返回的字节。
验证
curl -sI http://localhost:8080/pixel.gif