且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

httpAdditionalHeaders在Linux上不起作用

更新时间:2023-07-31 13:12:22

这本来可以是评论,但仍然不允许我发表评论!

是的,我的同事在研究此bug 时遇到了这个问题.我认为您采用的解决方法是***的替代选择.这需要更多的调查.我为此问题创建了一个新错误报告报告.

I ran into a problem of different behaviour of URLSession / URLSessionConfiguration / URLSessionDataTask on OS X and Linux.

Swift: 3.0.2 Kitura: 1.3

I am doing following:

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()

The additional headers are set on the configuration object, but when deployed to Bluemix the response show that language header field is missing (i get the response in wrong language).

I know that the request is correct because when I build and run this (Kitura) locally (thorough Xcode on OS X) I get the expected behaviour.

Has anyone encountered this? What to do? Where to go?

This could've been a comment, but I am still not allowed to post comments!

Yes, my colleague came across this while working on this bug. I think the work-around that you adopted is the best alternative option. This needs more investigation. I have created a new bug report report for this issue.