emptygif
Idioma: Español

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#

Instalar
dotnet add package Giraffe
Archivo
Program.fs
Ejecutar
dotnet run
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

Sitio oficial: Giraffe

Más en F#