func (h HTTPHeader) Set(key, value string) {
	h[strings.ToLower(key)] = []string{value}
}
Set sets the header entries associated with key to the single element value.
The key will converted into lowercase as the HTTP/2 protocol requires.
package metainfo
import (
	"context"
	"strings"
)
const (
	HTTPPrefixTransient  = "rpc-transit-"
	HTTPPrefixPersistent = "rpc-persist-"
	HTTPPrefixBackward   = "rpc-backward-"
	lenHPT = len(HTTPPrefixTransient)
	lenHPP = len(HTTPPrefixPersistent)
	lenHPB = len(HTTPPrefixBackward)
)
func HTTPHeaderToCGIVariable(key string) string {
	return strings.ToUpper(strings.ReplaceAll(key, "-", "_"))
}
func CGIVariableToHTTPHeader(key string) string {
	return strings.ToLower(strings.ReplaceAll(key, "_", "-"))
}
type HTTPHeaderSetter interface {
	Set(key, value string)
}
type HTTPHeaderCarrier interface {
	Visit(func(k, v string))
}
type HTTPHeader map[string][]string
func (h HTTPHeader) Visit(v func(k, v string)) {
	for k, vs := range h {
		v(k, vs[0])
	}
}