TLDR: Existe-t-il un moyen de forcer OkHttp à gérer correctement les réponses HTTP/inattendues? J'utilise OkHttp 3.8.1 sur Android pour POST à un serveur mal comporté.okhttp: comment gérer la réponse 100 (continue) non demandée/inattendue du serveur?
Même si la requête n'inclut pas d'en-tête "Expect: 100-continue", le serveur Web renvoie une réponse 100 Continue. Plutôt que de continuer à envoyer le corps de la requête, puis d'obtenir la réponse réelle (200), OkHttp s'arrête là et renvoie la réponse 100 Continue dans mon okhttp.Callback.
J'ai essayé d'inclure explicitement "Expect: 100-continue" dans la requête pour déclencher la logique d'OkHttp, mais le serveur (probablement à cause d'un bug) prétend que l'en-tête est mal formé et rejette la requête. J'ai également essayé d'envoyer "Expect:" (aucune valeur), mais le serveur envoie toujours la réponse 100 Continue et OkHttp s'arrête là.
D'autres clients HTTP (j'ai testé 3 jusqu'à présent) peuvent très bien communiquer avec ce serveur. Ils gèrent la réponse 100 Continue correctement même s'ils ne voyaient pas "Expect: 100-continue" dans l'en-tête de la requête. Y at-il une option que je peux définir, ou un intercepteur que je peux écrire, pour que OkHttp fasse la même chose?
[fait] (https://github.com/square/okhttp/issues/3628) –