feat!(client): Rewrite client as async w/ reqwest
I originally wrote the HTTP client library with ureq
to play around with that crate and see how it feels. After trying to use Client::define_drug()
in some integration tests for edihkal
(as a helper for setup), I realized what happens when you mix sync & async (at least without calling the library with that in mind).
Since reqwest
is already used in the workspace elsewhere, figured it makes sense to be consistent.
The Error type needs work, but will start with this for now.
This MR also replaces some panics with anyhow errors in the service startup.
- build(client): Remove ureq dependency from client
- build(client): Add reqwest 0.11 to edihkal-client
Replace the client library implementation to use reqwest instead of ureq.
Update define_drug to return the drug type directly instead of the Response type.
Change Error type altogether to use sources of other error types.