feat: verify RpcPath on startup (#2159)

* feat: verify RpcPath on startup

* feat: support http header Grpc-Timeout
This commit is contained in:
Kevin Wan
2022-07-17 12:37:23 +08:00
committed by GitHub
parent b206dd28a3
commit 557383fbbf
11 changed files with 155 additions and 31 deletions

View File

@@ -0,0 +1,30 @@
package internal
import (
"fmt"
"net/http"
"strings"
)
const (
metadataHeaderPrefix = "Grpc-Metadata-"
metadataPrefix = "gateway-"
)
// BuildHeaders builds the headers for the gateway from HTTP headers.
func BuildHeaders(header http.Header) []string {
var headers []string
for k, v := range header {
if !strings.HasPrefix(k, metadataHeaderPrefix) {
continue
}
key := fmt.Sprintf("%s%s", metadataPrefix, strings.TrimPrefix(k, metadataHeaderPrefix))
for _, vv := range v {
headers = append(headers, key+":"+vv)
}
}
return headers
}