aboutsummaryrefslogtreecommitdiff
path: root/weed/operation/assign_file_id.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-02-10 09:13:29 -0800
committerChris Lu <chris.lu@gmail.com>2020-02-10 09:13:29 -0800
commit58f126fd27bb2f366f76f42223b93ba3b31a0bd8 (patch)
treec4f784566db4689691c6824cde08a32a798cb5d5 /weed/operation/assign_file_id.go
parent29945fad51320deb7c72f57d1c7a84bcc51429da (diff)
downloadseaweedfs-58f126fd27bb2f366f76f42223b93ba3b31a0bd8.tar.xz
seaweedfs-58f126fd27bb2f366f76f42223b93ba3b31a0bd8.zip
HEAD operation changes to fasthttp
Diffstat (limited to 'weed/operation/assign_file_id.go')
-rw-r--r--weed/operation/assign_file_id.go20
1 files changed, 14 insertions, 6 deletions
diff --git a/weed/operation/assign_file_id.go b/weed/operation/assign_file_id.go
index b67d8b708..3f3bb13e0 100644
--- a/weed/operation/assign_file_id.go
+++ b/weed/operation/assign_file_id.go
@@ -1,13 +1,17 @@
package operation
import (
+ "bytes"
"context"
"fmt"
+
+ "github.com/valyala/fasthttp"
+ "google.golang.org/grpc"
+
+ "github.com/chrislusf/seaweedfs/weed/glog"
"github.com/chrislusf/seaweedfs/weed/pb/master_pb"
"github.com/chrislusf/seaweedfs/weed/security"
"github.com/chrislusf/seaweedfs/weed/util"
- "google.golang.org/grpc"
- "strings"
)
type VolumeAssignRequest struct {
@@ -89,12 +93,16 @@ func Assign(server string, grpcDialOption grpc.DialOption, primaryRequest *Volum
func LookupJwt(master string, fileId string) security.EncodedJwt {
tokenStr := ""
+ lookupUrl := fmt.Sprintf("http://%s/dir/lookup?fileId=%s", master, fileId)
- if h, e := util.Head(fmt.Sprintf("http://%s/dir/lookup?fileId=%s", master, fileId)); e == nil {
- bearer := h.Get("Authorization")
- if len(bearer) > 7 && strings.ToUpper(bearer[0:6]) == "BEARER" {
- tokenStr = bearer[7:]
+ err := util.Head(lookupUrl, func(header fasthttp.ResponseHeader) {
+ bearer := header.Peek("Authorization")
+ if len(bearer) > 7 && string(bytes.ToUpper(bearer[0:6])) == "BEARER" {
+ tokenStr = string(bearer[7:])
}
+ })
+ if err != nil {
+ glog.V(0).Infof("failed to lookup jwt %s: %v", lookupUrl, err)
}
return security.EncodedJwt(tokenStr)