HTTP/2 requests via Sparkle client

Hi,


I need to send a POST request to a server which is based on the new HTTP/2 protocol.  It requires the requests to use HPACK (header compression for HTTP/2).  Do you know if HTTP/2 requests are supported in Sparkle and/or WinHTTP ?  I've tried a standard request but am receiving the following message in the response :

HTTP/2 client preface string missing or corrupt. 

Thanks,
Jonathan

Hi Jonathan,


WinHttp does not support HTTP/2 yet. We will have to wait Microsoft to add to support to it. On the other hand, isn't HTTP/2 backward compatible? It should receive HTTP/1.1 requests normally. 

Hi Wagner,


Thank you for your time.  I kind of thought HTTP/2 was backwards compatible too, but it's very new to me.  What I'm trying to do is upgrade our Apple Push Notification Server (APNS) to use the new HTTP/2 API (I have to make some changes anyway so thought I'd migrate it).  The documentation is here :

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/APNsProviderAPI.html#//apple_ref/doc/uid/TP40008194-CH101-SW1

If you scroll down the page they show some example requests, which have quite a different structure to anything I've seen with HTTP/1.1.  Reading the document it sounds to me that it only accepts HTTP/2 requests, but I value your opinion.

Kind regards,
Jonathan

I must confess I haven't catch up with HTTP/2 in depth yet. Indeed it looks like only HTTP/2 is supported for this specific API, but I can't be 100% sure right now. But it seems we're not alone: 


http://stackoverflow.com/questions/34445709/must-i-use-http-2-0-to-send-apple-push-notifications-may-i-use-libcurl


Thank you, I think I'll have to postpone the update until HTTP/2 is supported in WinHttp.


One more question - are you able to reveal any possible updates coming for Sparkle in 2016?

Happy New Year,
Jonathan

Happy New Year!

We have recently added a middleware architecture in Sparkle. So our plan is to add middlewares to it, like authentication. It will also depend on requests from users. Of course when underlying API's support HTTP/2 (like WinHttp) we will try to add support to it. If you have any suggestion, just let us know!