OS X と Linux で URLSession / URLSessionConfiguration / URLSessionDataTask の動作が異なるという問題に遭遇しました。
スイフト: 3.0.2 キトゥラ: 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を介して)、期待される動作が得られるため、要求が正しいことはわかっています。
誰かがこれに遭遇しましたか?何をすべきか?どこへ行く?