For a couple of hours I'm trying to upload a file to https://api.imgur.com/3/image but it randomly fails with Failure IO: Stream 3 reset with error code 1
or something equally meaningless. I was able to manage that sometimes imgur server chooses h2 over http/1.1 and those are the cases when the call fails. Here are logs (from charles) when it fails:
URL https://api.imgur.com/3/image
Status Failed
Failure IO: Stream 3 reset with error code 1
Response Code -
Protocol HTTP/2.0
TLS TLSv1.2 (TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256)
Protocol TLSv1.2
Session Resumed Yes (Server session resumed, client session restarted)
Cipher Suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ALPN h2
Client Supported [h2, http/1.1]
Server Chosen h2
Charles Supported [h2, http/1.1]
And here are logs when it succeeded (for the success cases I forced in client to support just and only http/1.1 so imgur server cannot choose it):
URL https://api.imgur.com/3/image
Status Complete
Response Code 200 OK
Protocol HTTP/1.1
TLS TLSv1.2 (TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256)
Protocol TLSv1.2
Session Resumed No
Cipher Suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ALPN http/1.1
Client Supported [http/1.1]
Server Chosen http/1.1
Charles Supported [http/1.1]
Why imgur sometimes chooses h2 and then fails? Is this expected or documented?