github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/pkg/httputil/scheme.go (about) 1 package httputil 2 3 import "net/http" 4 5 const ( 6 schemeHTTP = "http" 7 schemeHTTPS = "https" 8 ) 9 10 func RequestScheme(r *http.Request) string { 11 switch { 12 case r.URL.Scheme == schemeHTTPS: 13 return schemeHTTPS 14 case r.Header.Get("X-Forwarded-Proto") == schemeHTTPS: 15 return schemeHTTPS 16 case r.Header.Get("X-Forwarded-Ssl") == "on": 17 return schemeHTTPS 18 default: 19 return schemeHTTP 20 } 21 }