Nasze środowisko wymaga użycia zewnętrznego serwera proxy dla usług zewnętrznych. Zwykle nie stanowi to problemu. W takim przypadku w przypadku Twilio zwracany dodatkowy nagłówek powoduje zerwanie klienta.Co zrobić z dodatkowym nagłówkiem HTTP z serwera proxy?
nagłówki wychodzące:
POST /2010-04-01/Accounts/FOO/SMS/Messages.json HTTP/1.1
Authorization: Basic FOO==
User-Agent: twilio-php/3.10.0
Host: api.twilio.com
Accept: */*
Accept-Charset: utf-8
Content-Type: application/x-www-form-urlencoded
Content-Length: 108
nagłówki odpowiedzi:
HTTP/1.0 200 Connection established
HTTP/1.1 201 Created
Server: nginx
Date: Thu, 06 Jun 2013 14:39:24 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 551
Connection: close
X-Powered-By: PHP/5.3.11
Mogę tylko przypuszczać, pełnomocnik jest dodanie dodatkowego nagłówka HTTP.
Twilio klient musi sprawdzić:
list($head, $body) = ($parts[0] == 'HTTP/1.1 100 Continue')
Jak rozumiem, są chwile, lub wersje curl, która będzie automatycznie dodać Expect nagłówka w żądaniu, a HTTP 100 będzie zwrócony w odpowiedź, ale w tym przypadku tak nie jest, a odpowiedź wynosi 200 Połączenie ustanowione. Na co warto dodać pustego Oczekiwano: lub Oczekiwano: boczek nie zmienił wyników.
Naprawdę wolałbym nie włamać się tutaj zbytnio do klienta Twilio, a szczególnie chciałbym uniknąć dodania || $ parts [0] == 'HTTP/1.0 200 Połączenie ustanowione "ponieważ wygląda na to, że jest brudny.
Czy można wysłać nagłówek żądania, który ukryje dodatkowy nagłówek? Lub, opcja zwijania nie zamierzam tego zignorować?
Pełnomocnik wychodzące jest Linux/Squid
to mnie naprawdę zaskoczyło. –
@ TheSurrican co to jest? – somedev
zgodnie ze specyfikacją istnieje tylko jeden "wiersz statusu" w odpowiedzi http, a następnie definicje nagłówków. to znaczy, jeśli dobrze to przeczytam ... http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6 –