Fix capitalization in HTTP-header in SOAP request (fixes #1696)

Some routers are sensitive to the capitalization in  "SOAPAction" in the HTTP-header in SOAP request. This modification follows the recommendation of preserving caps in HTTP-headers in go described on http://stackoverflow.com/questions/26351716/how-to-keep-key-case-sensitive-in-request-header-using-golang?lq=1
This commit is contained in:
Elias Jarlebring 2015-04-26 11:08:13 +02:00 committed by jarlebring
parent 73b9d5c5f9
commit 8f2ad6418d

View File

@ -454,7 +454,7 @@ func soapRequest(url, service, function, message string) ([]byte, error) {
}
req.Header.Set("Content-Type", `text/xml; charset="utf-8"`)
req.Header.Set("User-Agent", "syncthing/1.0")
req.Header.Set("SOAPAction", fmt.Sprintf(`"%s#%s"`, service, function))
req.Header["SOAPAction"]=[]string{fmt.Sprintf(`"%s#%s"`, service, function)} // Enforce capitalization in header-entry for sensitive routers. See issue #1696
req.Header.Set("Connection", "Close")
req.Header.Set("Cache-Control", "no-cache")
req.Header.Set("Pragma", "no-cache")