cli: Pass headers to gRPC hooks (#813)

Co-authored-by: Kaltenbach, Jonas <jonas.kaltenbach@zoi.de>
This commit is contained in:
jonaskaltenbachz 2022-09-30 14:51:13 +02:00 committed by GitHub
parent 920deb3df7
commit 707f41be2b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 1 deletions

View File

@ -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