f.ardelian f.ardelian - 4 months ago 10x
Ruby Question

Can the Ruby HTTPI library be configured to follow redirects?

I am using the Savon library which in turn uses HTTPI, but HTTPI considers only HTTP status codes 200..299 as successful. Unfortunately, the SOAP server I am connecting to uses HTTP 302 Found to redirect its clients to other URLs. Is there a way I can configure HTTPI to follow HTTP redirects?


Reading Wasabi code I found this line, which calls this line, which calls this line, so I think you can resolve with a brutal but effective constant redefinition:

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

You can safely ignore the constant redefinition warning (you can use Kernel.silence_warnings{ ... }).

Anyway, I suggest you to open an issue to httpi; I think it should be the expected behaviour