Todos los lenguajes y frameworks
Giraffe F#
Un fragmento en F# para Giraffe que responde a las peticiones a /pixel.gif con el GIF vacío, decodificado una sola vez al arrancar.
Giraffe F#
open System
open Microsoft.AspNetCore.Builder
open Microsoft.Extensions.DependencyInjection
open Giraffe
let gif = Convert.FromBase64String "R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="
let pixel: HttpHandler =
setHttpHeader "Content-Type" "image/gif"
>=> setHttpHeader "Cache-Control" "no-store"
>=> setBody gif
let webApp =
choose [
GET >=> route "/pixel.gif" >=> pixel
RequestErrors.NOT_FOUND "Not Found"
]
let builder = WebApplication.CreateBuilder()
builder.Services.AddGiraffe() |> ignore
let app = builder.Build()
app.UseGiraffe webApp
app.Run "http://0.0.0.0:8080"
Ejecutamos este fragmento y comparamos los bytes que devolvió.
Comprobar
curl -sI http://localhost:8080/pixel.gif