Use Header.Set() to override the existing header value (#1032)

Header.Add() appends string if there are same header key exists. Use Header.Set() to prevent this.
This commit is contained in:
Ta-Ching Chen
2018-12-20 17:23:26 +08:00
committed by GitHub
parent 85f8dcc2b2
commit 8e6f6ffda9
9 changed files with 16 additions and 16 deletions
+1 -1
View File
@@ -142,7 +142,7 @@ func (builder *Builder) reply(w http.ResponseWriter, pkgFilename string, buildLo
statusCode = http.StatusInternalServerError statusCode = http.StatusInternalServerError
} }
w.Header().Add("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
// should write header before writing the body, // should write header before writing the body,
// or client will receive HTTP 200 regardless the real status code // or client will receive HTTP 200 regardless the real status code
w.WriteHeader(statusCode) w.WriteHeader(statusCode)
+1 -1
View File
@@ -482,7 +482,7 @@ func (fetcher *Fetcher) UploadHandler(w http.ResponseWriter, r *http.Request) {
} }
log.Println("Completed upload request") log.Println("Completed upload request")
w.Header().Add("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK) w.WriteHeader(http.StatusOK)
w.Write(rBody) w.Write(rBody)
} }
+4 -4
View File
@@ -313,14 +313,14 @@ func invokeTriggeredFunction(conn AzureStorageConnection, sub *AzureQueueSubscri
continue continue
} }
request.Header.Add("X-Fission-MQTrigger-Topic", sub.queueName) request.Header.Set("X-Fission-MQTrigger-Topic", sub.queueName)
if len(sub.outputQueueName) > 0 { if len(sub.outputQueueName) > 0 {
request.Header.Add("X-Fission-MQTrigger-RespTopic", sub.outputQueueName) request.Header.Set("X-Fission-MQTrigger-RespTopic", sub.outputQueueName)
} }
if i > 0 { if i > 0 {
request.Header.Add("X-Fission-MQTrigger-RetryCount", strconv.Itoa(i)) request.Header.Set("X-Fission-MQTrigger-RetryCount", strconv.Itoa(i))
} }
request.Header.Add("Content-Type", sub.contentType) request.Header.Set("Content-Type", sub.contentType)
response, err := conn.httpClient.Do(request) response, err := conn.httpClient.Do(request)
if err != nil { if err != nil {
+1 -1
View File
@@ -133,7 +133,7 @@ func kafkaMsgHandler(kafka *Kafka, producer sarama.SyncProducer, trigger *crd.Me
} }
for k, v := range headers { for k, v := range headers {
req.Header.Add(k, v) req.Header.Set(k, v)
} }
// Make the request // Make the request
var resp *http.Response var resp *http.Response
+1 -1
View File
@@ -122,7 +122,7 @@ func msgHandler(nats *Nats, trigger *crd.MessageQueueTrigger) func(*ns.Msg) {
} }
for k, v := range headers { for k, v := range headers {
req.Header.Add(k, v) req.Header.Set(k, v)
} }
var resp *http.Response var resp *http.Response
+1 -1
View File
@@ -84,7 +84,7 @@ func (p *WebhookPublisher) makeHttpRequest(r *publishRequest) {
// Create request // Create request
req, err := http.NewRequest("POST", url, &buf) req, err := http.NewRequest("POST", url, &buf)
for k, v := range r.headers { for k, v := range r.headers {
req.Header.Add(k, v) req.Header.Set(k, v)
} }
// Make the request // Make the request
+1 -1
View File
@@ -401,7 +401,7 @@ func ReplayRequest(routerUrl string, request *redisCache.Request) ([]string, err
} }
} }
req.Header.Add("X-Fission-Replayed", "true") req.Header.Set("X-Fission-Replayed", "true")
resp, err := client.Do(req) resp, err := client.Do(req)
if err != nil { if err != nil {
+2 -2
View File
@@ -404,14 +404,14 @@ func (fh functionHandler) handler(responseWriter http.ResponseWriter, request *h
// retrieve url params and add them to request header // retrieve url params and add them to request header
vars := mux.Vars(request) vars := mux.Vars(request)
for k, v := range vars { for k, v := range vars {
request.Header.Add(fmt.Sprintf("X-Fission-Params-%v", k), v) request.Header.Set(fmt.Sprintf("X-Fission-Params-%v", k), v)
} }
var reqUID string var reqUID string
if len(fh.recorderName) > 0 { if len(fh.recorderName) > 0 {
UID := strings.ToLower(uuid.NewV4().String()) UID := strings.ToLower(uuid.NewV4().String())
reqUID = "REQ" + UID reqUID = "REQ" + UID
request.Header.Add("X-Fission-ReqUID", reqUID) request.Header.Set("X-Fission-ReqUID", reqUID)
log.Print("Record request with ReqUID: ", reqUID) log.Print("Record request with ReqUID: ", reqUID)
} }
+4 -4
View File
@@ -13,10 +13,10 @@ const (
) )
func MetadataToHeaders(prefix string, meta *metav1.ObjectMeta, request *http.Request) { func MetadataToHeaders(prefix string, meta *metav1.ObjectMeta, request *http.Request) {
request.Header.Add(fmt.Sprintf("X-%s-Uid", prefix), string(meta.UID)) request.Header.Set(fmt.Sprintf("X-%s-Uid", prefix), string(meta.UID))
request.Header.Add(fmt.Sprintf("X-%s-Name", prefix), meta.Name) request.Header.Set(fmt.Sprintf("X-%s-Name", prefix), meta.Name)
request.Header.Add(fmt.Sprintf("X-%s-Namespace", prefix), meta.Namespace) request.Header.Set(fmt.Sprintf("X-%s-Namespace", prefix), meta.Namespace)
request.Header.Add(fmt.Sprintf("X-%s-ResourceVersion", prefix), meta.ResourceVersion) request.Header.Set(fmt.Sprintf("X-%s-ResourceVersion", prefix), meta.ResourceVersion)
} }
func HeadersToMetadata(prefix string, headers http.Header) *metav1.ObjectMeta { func HeadersToMetadata(prefix string, headers http.Header) *metav1.ObjectMeta {