OS XとLinuxでURLSession/URLSessionConfiguration/URLSessionDataTaskの動作が異なるという問題が発生しました。LinuxでhttpAdditionalHeadersが動作しない
スウィフト:3.0.2 Kitura:1.3
私は次のことをやっている:
let aURL = URL(string: "...")!
// Because shared is not implemented
let sessionConfig = URLSessionConfiguration.default
sessionConfig.httpAdditionalHeaders = ["Accept": "application/json", "Accept-Language": "sv-SE"]
let session = URLSession(configuration: sessionConfig)
// additionalHeaders are set just fine
Log.info("\(session.configuration.httpAdditionalHeaders)")
let dataTask = session.dataTask(with: aURL, completionHandler: { data, loadResponse, error in
...
})
dataTask.resume()
追加のヘッダが構成オブジェクトに設定されたが、応答がその言語のヘッダを表示Bluemixするために配備されたときされていますフィールドがありません(私は間違った言語で応答を得ます)。
私は、この(Kitura)をローカルで(OS XでXcodeを徹底的に)ビルドして実行すると、期待される動作が得られるので、リクエストが正しいことを知っています。
誰かがこれに遭遇しましたか?何をすべきか?どこへ行く?
...
var request = URLRequest(url: aURL, cachePolicy: .reloadRevalidatingCacheData, timeoutInterval: 3)
request.setValue("sv-SE", forHTTPHeaderField: "Accept-Language")
let dataTask = URLSession(configuration: URLSessionConfiguration.default).dataTask(with: request, ...
を、それは私が(それはきれいだ)良いことを好きなので、元の溶液で何が起こっているか知っていいだろう作品にもかかわらず:
この問題は修正されています。 https://bugs.swift.org/browse/SR-3463プルリクエスト:https://github.com/apple/swift-corelibs-foundation/pull/927 –