/ / Kann die Ruby-HTTPI-Bibliothek für Weiterleitungen konfiguriert werden? - Rubin, Savon, httpi

Kann die HTTPI-Bibliothek von Ruby so konfiguriert werden, dass sie Redirects folgt? - Rubin, Savon, httpi

Ich benutze die Savon Bibliothek, die wiederum verwendet HTTPI, aber HTTPI betrachtet nur HTTP-Statuscodes 200..299 als erfolgreich. Leider verwendet der SOAP-Server, mit dem ich mich verbinde HTTP 302 gefunden um seine Kunden auf andere URLs umzuleiten. Gibt es eine Möglichkeit, die ich konfigurieren kann? HTTPI HTTP-Weiterleitungen folgen?

Antworten:

1 für die Antwort № 1

Ich habe Wasabi-Code gelesen diese Linie, das ruft diese Linie, das ruft diese LinieIch denke, Sie können das Problem mit einer brutalen, aber effektiven konstanten Neudefinition lösen

HTTPI::Response::SuccessfulResponseCodes = HTTPI::Response::SuccessfulResponseCodes.to_a << 302

Sie können die Warnung zur permanenten Neudefinition (Sie können verwenden) ignorieren Kernel.silence_warnings{ ... }).

Wie auch immer, ich schlage vor, dass Sie eine Ausgabe an httpi; Ich denke, es sollte das erwartete Verhalten sein


2 für die Antwort № 2

Versuchen Sie, für das Anforderungsobjekt "follow_redirect = true" zu verwenden.

    request = HTTPI::Request.new
request.follow_redirect= true
...

Hatte gerade das gleiche Problem selbst.


0 für die Antwort № 3

Für jeden, der dazu kommt, wie bei einer Google-Suche. Savon 2.11 unterstützt dies mit einem globalen Konfigurationswert auf dem Client:

follow_redirects: true