-
Notifications
You must be signed in to change notification settings - Fork 616
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
migration from httpi to faraday #992
Comments
I took a look at this recently and it seems to require some larger refactoring changes. Basically, the way the builder pattern is applied needs to change a bit, because faraday distinguishes between "requests" and "connections" much more strongly due to concepts like http keepalive |
@pcai fingers crossed! Do you know approximately when the next version will be released? |
Sorry no eta at the moment, I am still poking at this occasionally and there seem to be a bunch of decisions around larger/cleaner refactoring vs minimizing changes. Will update when i make more progress |
any update on this? |
We're getting close to a release candidate with faraday thanks to @LukeIGS (which will eventually be released as savon 3.x). While I still believe that we should minimize supported versions, for practical reasons I believe we should continue to support 2.x so that httpi-based savon can at least receive security updates for a little while. |
While this is true, trying to add forking logic for the two doesn't really seem feasible. It may make more sense to just have two supported major versions that still receive security patches. (Savon 3 vs savon 2)
…________________________________
From: Peter Cai ***@***.***>
Sent: Monday, July 8, 2024 3:37:33 PM
To: savonrb/savon ***@***.***>
Cc: Luke Ridge ***@***.***>; Mention ***@***.***>
Subject: Re: [savonrb/savon] migration from httpi to faraday (Issue #992)
External Sender
We're getting close to a release candidate with faraday thanks to @LukeIGS<https://github.com/LukeIGS> (which will eventually be released as savon 3.x).
While I still believe that we should minimize supported versions, for practical reasons I believe we should continue to support 2.x so that httpi-based savon can at least receive security updates for a little while.
—
Reply to this email directly, view it on GitHub<#992 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ARZYNIOPFIA35ZEXK5TGFKLZLLS73AVCNFSM6AAAAAAVX5UVCCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJVGAZDEMJZGM>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
________________________________
Confidentiality Notice: The information contained in this email may be confidential and/or legally privileged. It has been sent for the sole use of the intended recipient(s). If you are not the intended recipient or authorized to receive information for the recipient, you are hereby notified that any review, use, disclosure, distribution, copying, printing, or action taken in reliance on the contents of this e-mail is strictly prohibited. If you have received this communication in error, please contact the sender by reply email and destroy all copies of the original message.
|
I think we are saying the same thing - we will support both major versions of savon simultaneously for some time. This is an exception from the usual policy, which is that there is only 1 supported version at a time (e.g., fixes are never backported to older branch releases). |
Released as v3.0.0.rc1 so it can bake a little bit. For anyone who can give this a spin - you can contribute by filing bugs in this issue tracker, or PRs against the upgrade guide |
Hi @ehutzelman thanks so much for reporting back! Did you have to make any code changes other than what was documented in the upgrading guide? |
Nevermind - you were the one who made the recent pr so that probably answers my question |
So far it appears that I didn't consider the fact that ntlm auth needs to propagate down to wasabi to pull the wsdl. Almost makes me want to strip the concept of an http client out of wasabi entirely and have it take a block from the consumer. |
Well, yes, that would be a clear win from a separation-of-concerns point of view. |
I did a very small amount of testing on v3.0.0.rc1 with the typhoeus adapter in an app that has a pretty simple use case for savon. Just installed the prerelease version and added I also compared the requests before and after, using Jaeger. It seems like persistent connections are now working due to faraday/typhoeus because subsequent requests are now multiple times faster than they used to be. 🎉 Thanks for everyone's work on this! I'm definitely looking forward to the full release. |
Feature request
httpi is now deprecated in favor of https://github.com/lostisland/faraday, so we should plan a migration to it for savon
Motivation for this feature:
httpi is no longer actively maintained, and continuing to do so would duplicate a lot of existing work already done in the ruby ecosystem.
in addition, there are many missing features in httpi that would require fairly large rewrites (for example -- keepalive support, threadsafety / global state issues come to mind). this effort is better spent migrating savon to faraday which already supports these features.
Would this introduce a breaking change?
yes, this will likely require a major version bump as the public interface for savon, and some important behaviors, might change.
Are you willing to work on this yourself?
yes
The text was updated successfully, but these errors were encountered: