-
Notifications
You must be signed in to change notification settings - Fork 451
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
Move integrations to main repo + new Ktor integrations #3570
base: main
Are you sure you want to change the base?
Conversation
Great work @serras 👏 🙌 I am a bit unsure of moving the Ktor integration into the main repo, but I am not opposed to it. It was still relatively small, unreleased, and unpromoted but I was quite happy with the APIs last summer. https://github.com/nomisRev/arrow-ktor/tree/main?tab=readme-ov-file. More than happy to move it here as well. What do you think? |
I really like your libraries! What do you think of just using this branch, and then merge everything? About the naming, I really like that Ktor is very clear about things being client or server oriented, so I would suggest to use:
|
Calling it raise is also good if we want to eventually have a mini-library for Raise (likely when context params are out so we can get rid of Either extensions being inside the interface) |
@nomisRev I've just integrated your Ktor libraries in this repo. I've taken the code mostly as it was, but I've updated it to the newest version of Arrow and Ktor, and made everything
|
@nomisRev if you are OK with these changes, feel free to simply merge this PR into |
This PR does a few things (sorry, I forgot to switch branches).
It moves the Jackson module from
arrow-integrations
repo into the main repo, which makes it easier to release in the future. Alongside it reorganizes the repo, moving all the integrations modules (Retrofit, Jackson, kotlinx.serialization) into a newintegrations
folder.Alongside those, it adds a new integration with Ktor in the form of a client plug-in. It does the same as the built-in
HttpRetry
but using ourSchedule
andCircuitBreaker
.