github.com/jxgolibs/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  }