diff --git a/cmd/tusd/cli/hooks/grpc.go b/cmd/tusd/cli/hooks/grpc.go index b9ac15c..b69fe78 100644 --- a/cmd/tusd/cli/hooks/grpc.go +++ b/cmd/tusd/cli/hooks/grpc.go @@ -2,6 +2,7 @@ package hooks import ( "context" + "net/http" "time" grpc_retry "github.com/grpc-ecosystem/go-grpc-middleware/retry" @@ -66,12 +67,22 @@ func marshal(hookReq HookRequest) *pb.HookRequest { Method: event.HTTPRequest.Method, Uri: event.HTTPRequest.URI, RemoteAddr: event.HTTPRequest.RemoteAddr, - // TODO: HEaders + Header: getHeaders(event.HTTPRequest.Header), }, }, } } +func getHeaders(httpHeader http.Header) (hookHeader map[string]string) { + hookHeader = make(map[string]string) + for key, val := range httpHeader { + if key != "" && val != nil && len(val) > 0 { + hookHeader[key] = val[0] + } + } + return hookHeader +} + func unmarshal(res *pb.HookResponse) (hookRes HookResponse) { hookRes.RejectUpload = res.RejectUpload hookRes.StopUpload = res.StopUpload