stakmachine/headers
stackmachine/headers is a type-safe API for manipulating HTTP headers. Say goodbye to stringly-typed, unsafe code.
Usage
headers.Set(r, &headers.AccessControlMaxAge(time.Minute * 3))
package main
import (
"fmt"
"net/http"
"time"
"github.com/stackmachine/headers"
)
func middleware(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
headers.Set(w, &headers.StrictTransportSecurity{
MaxAge: time.Hour * 24,
IncludeSubdomains: true,
Preload: true,
})
next.ServeHTTP(w, r)
})
}
func main() {
mux := http.NewServeMux()
mux.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
fmt.Fprintf(w, "Welcome :D")
})
fmt.Println("listening on :8080")
http.ListenAndServe(":8080", middleware(mux))
}