ಎಲ್ಲಾ ಭಾಷೆಗಳು ಮತ್ತು ಫ್ರೇಮ್ವರ್ಕ್ಗಳು
Huma Go
/pixel.gif ಗೆ ಬರುವ ವಿನಂತಿಗಳಿಗೆ ಖಾಲಿ GIF ನೊಂದಿಗೆ ಉತ್ತರಿಸುವ, Huma ಗಾಗಿ ಒಂದು Go ಸ್ನಿಪೆಟ್; GIF ಅನ್ನು ಆರಂಭದಲ್ಲಿ ಒಮ್ಮೆ ಮಾತ್ರ ಡಿಕೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ.
Huma Go
package main
import (
"context"
"encoding/base64"
"log"
"net/http"
"github.com/danielgtaylor/huma/v2"
"github.com/danielgtaylor/huma/v2/adapters/humago"
)
var gif, _ = base64.StdEncoding.DecodeString("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")
// A []byte Body is sent as-is; tagged fields become response headers.
type PixelOutput struct {
ContentType string `header:"Content-Type"`
CacheControl string `header:"Cache-Control"`
Body []byte
}
func main() {
mux := http.NewServeMux()
api := humago.New(mux, huma.DefaultConfig("Pixel API", "1.0.0"))
huma.Get(api, "/pixel.gif", func(ctx context.Context, _ *struct{}) (*PixelOutput, error) {
return &PixelOutput{ContentType: "image/gif", CacheControl: "no-store", Body: gif}, nil
})
log.Fatal(http.ListenAndServe(":8080", mux))
}
ನಾವು ಈ ಸ್ನಿಪೆಟ್ ಅನ್ನು ರನ್ ಮಾಡಿ, ಅದು ಹಿಂತಿರುಗಿಸಿದ ಬೈಟ್ಗಳನ್ನು ಹೋಲಿಸಿದ್ದೇವೆ.
ಪರಿಶೀಲಿಸಿ
curl -sI http://localhost:8080/pixel.gif