TUN-3467: Serialize cf-cloudflared-response-meta during package initialization using jsoniter

This commit is contained in:
cthuang
2020-10-16 11:13:48 +01:00
parent 9ac40dcf04
commit 6886e5f90a
148 changed files with 11896 additions and 2555 deletions

View File

@@ -204,13 +204,15 @@ type h2muxRespWriter struct {
}
func (rp *h2muxRespWriter) WriteRespHeaders(resp *http.Response) error {
return rp.WriteHeaders(h2mux.H1ResponseToH2ResponseHeaders(resp))
headers := h2mux.H1ResponseToH2ResponseHeaders(resp)
headers = append(headers, h2mux.Header{Name: responseMetaHeaderField, Value: responseSourceOrigin})
return rp.WriteHeaders(headers)
}
func (rp *h2muxRespWriter) WriteErrorResponse(err error) {
rp.WriteHeaders([]h2mux.Header{
{Name: ":status", Value: "502"},
h2mux.CreateResponseMetaHeader(h2mux.ResponseMetaHeaderField, h2mux.ResponseSourceCloudflared),
{Name: responseMetaHeaderField, Value: responseSourceCloudflared},
})
rp.Write([]byte("502 Bad Gateway"))
}