From 707f41be2bb602ba356152ce6b9184927e74188d Mon Sep 17 00:00:00 2001 From: jonaskaltenbachz <113501698+jonaskaltenbachz@users.noreply.github.com> Date: Fri, 30 Sep 2022 14:51:13 +0200 Subject: [PATCH] cli: Pass headers to gRPC hooks (#813) Co-authored-by: Kaltenbach, Jonas --- cmd/tusd/cli/hooks/grpc.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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