feat: Client that uses Req.
This module implements the Sentry.HTTPClient behaviour using the Req HTTP client.
@cgarvis we already have a PR that replaces Hackney with Finch. I think that's a preferred route—this is not exposed to users and using Req means using one more dependency, but mostly for the sake of the Sentry SDK maintainers and not of end users. Any particular reasons you wanted to go with this over Finch and the existing PR?
Req doesn’t supersede the Finch PR, it actually builds on it. Req uses Finch under the hood, so this adapter still benefits from that work. The goal here is to support multiple adapters since the Elixir ecosystem tends to favor flexibility. With Phoenix and other libraries standardizing on Req, offering an adapter makes it easier for projects to configure and align their stack without additional boilerplate.
@cgarvis I think I’m missing the point of having another adapter then. Why would someone care about the adapter that the SDK uses unless it's for dependencies reasons?
Thanks for the PR but for the time being we're not planning to maintain more clients. We may revisit this in the future when there's clearly demand for it though.