github.com/RichardKnop/Go-oauth2-server@v1.0.1/util/http.go (about) 1 package util 2 3 import ( 4 "errors" 5 "fmt" 6 "net/http" 7 "strings" 8 ) 9 10 // ParseBearerToken parses Bearer token from Authorization header 11 func ParseBearerToken(r *http.Request) ([]byte, error) { 12 auth := r.Header.Get("Authorization") 13 14 if !strings.HasPrefix(auth, "Bearer ") { 15 return nil, errors.New("Bearer token not found") 16 } 17 18 bearerToken := strings.TrimPrefix(auth, "Bearer ") 19 return []byte(bearerToken), nil 20 } 21 22 // GetCurrentURL returns the current request URL 23 func GetCurrentURL(r *http.Request) string { 24 url := r.URL.Path 25 qs := r.URL.Query().Encode() 26 if qs != "" { 27 url = fmt.Sprintf("%s?%s", url, qs) 28 } 29 return url 30 }