mirror of
https://github.com/openfaas/faas.git
synced 2025-06-17 12:46:59 +00:00
Remove Content-Type forwarding from Request
Signed-off-by: Eric Stoekl <ems5311@gmail.com>
This commit is contained in:
parent
d279b7b304
commit
4d785c8dfb
@ -160,10 +160,6 @@ func invokeService(w http.ResponseWriter, r *http.Request, metrics metrics.Metri
|
||||
clientHeader := w.Header()
|
||||
copyHeaders(&clientHeader, &response.Header)
|
||||
|
||||
defaultHeader := "text/plain"
|
||||
|
||||
w.Header().Set("Content-Type", GetContentType(response.Header, r.Header, defaultHeader))
|
||||
|
||||
writeHead(service, metrics, response.StatusCode, w)
|
||||
|
||||
if response.Body != nil {
|
||||
@ -171,23 +167,6 @@ func invokeService(w http.ResponseWriter, r *http.Request, metrics metrics.Metri
|
||||
}
|
||||
}
|
||||
|
||||
// GetContentType resolves the correct Content-Tyoe for a proxied function
|
||||
func GetContentType(request http.Header, proxyResponse http.Header, defaultValue string) string {
|
||||
responseHeader := proxyResponse.Get("Content-Type")
|
||||
requestHeader := request.Get("Content-Type")
|
||||
|
||||
var headerContentType string
|
||||
if len(responseHeader) > 0 {
|
||||
headerContentType = responseHeader
|
||||
} else if len(requestHeader) > 0 {
|
||||
headerContentType = requestHeader
|
||||
} else {
|
||||
headerContentType = defaultValue
|
||||
}
|
||||
|
||||
return headerContentType
|
||||
}
|
||||
|
||||
func copyHeaders(destination *http.Header, source *http.Header) {
|
||||
for k, v := range *source {
|
||||
vClone := make([]string, len(v))
|
||||
|
@ -1,44 +0,0 @@
|
||||
package tests
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
"github.com/openfaas/faas/gateway/handlers"
|
||||
)
|
||||
|
||||
func Test_GetContentType_UsesResponseValue(t *testing.T) {
|
||||
request := http.Header{}
|
||||
request.Add("Content-Type", "text/plain")
|
||||
response := http.Header{}
|
||||
response.Add("Content-Type", "text/html")
|
||||
|
||||
contentType := handlers.GetContentType(request, response, "default")
|
||||
if contentType != response.Get("Content-Type") {
|
||||
t.Errorf("Got: %s, want: %s", contentType, response.Get("Content-Type"))
|
||||
}
|
||||
}
|
||||
|
||||
func Test_GetContentType_UsesRequest_WhenResponseEmpty(t *testing.T) {
|
||||
request := http.Header{}
|
||||
request.Add("Content-Type", "text/plain")
|
||||
response := http.Header{}
|
||||
response.Add("Content-Type", "")
|
||||
|
||||
contentType := handlers.GetContentType(request, response, "default")
|
||||
if contentType != request.Get("Content-Type") {
|
||||
t.Errorf("Got: %s, want: %s", contentType, request.Get("Content-Type"))
|
||||
}
|
||||
}
|
||||
|
||||
func Test_GetContentType_UsesDefaultWhenRequestResponseEmpty(t *testing.T) {
|
||||
request := http.Header{}
|
||||
request.Add("Content-Type", "")
|
||||
response := http.Header{}
|
||||
response.Add("Content-Type", "")
|
||||
|
||||
contentType := handlers.GetContentType(request, response, "default")
|
||||
if contentType != "default" {
|
||||
t.Errorf("Got: %s, want: %s", contentType, "default")
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user