cloudflare/cloudflared

Public

mirrored from https://github.com/cloudflare/cloudflaredAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
2020.11.7

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

connection/header.go

31lines · modepreview

package connection

import (
	"fmt"
	"net/http"

	"github.com/cloudflare/cloudflared/h2mux"
)

const (
	responseMetaHeaderField = "cf-cloudflared-response-meta"
)

var (
	canonicalResponseUserHeadersField = http.CanonicalHeaderKey(h2mux.ResponseUserHeadersField)
	canonicalResponseMetaHeaderField  = http.CanonicalHeaderKey(responseMetaHeaderField)
	responseMetaHeaderCfd             = mustInitRespMetaHeader("cloudflared")
	responseMetaHeaderOrigin          = mustInitRespMetaHeader("origin")
)

type responseMetaHeader struct {
	Source string `json:"src"`
}

func mustInitRespMetaHeader(src string) string {
	header, err := json.Marshal(responseMetaHeader{Source: src})
	if err != nil {
		panic(fmt.Sprintf("Failed to serialize response meta header = %s, err: %v", src, err))
	}
	return string(header)
}