github.com/angryronald/go-kit@v0.0.0-20240505173814-ff2bd9c79dbf/net/http/request.middleware.go (about)

     1  package http
     2  
     3  import (
     4  	"context"
     5  	"net/http"
     6  	"os"
     7  
     8  	"github.com/angryronald/go-kit/appcontext"
     9  	"github.com/angryronald/go-kit/constant"
    10  )
    11  
    12  func LoadEnvironmentIntoRequest(next http.Handler) http.Handler {
    13  	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    14  		env := constant.EnvironmentType(os.Getenv(constant.ENVIRONMENT_KEY))
    15  
    16  		r = r.WithContext(context.WithValue(r.Context(), appcontext.KeyEnvironment, string(env)))
    17  
    18  		next.ServeHTTP(w, r)
    19  	})
    20  }