Commit Graph

151 Commits (4e856602f64222c797a62b111d1263aa89726b95)

Author SHA1 Message Date
Ethan Brierley 4e856602f6
refactor: fix `clippy::single_match` (#194) 2024-10-18 14:46:47 +01:00
Ethan Brierley d95ec5a99f
ci: move away from deprecated `actions-rs/toolchain` (#193)
Thanks for the suggestion @tl-eirik-albrigtsen

              this is deprecated;
```suggestion
      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable

```

_Originally posted by @tl-eirik-albrigtsen in https://github.com/TrueLayer/reqwest-middleware/pull/192#discussion_r1804396867_
2024-10-17 20:06:35 +01:00
Ethan Brierley b8069e2d21
ci: split feature powerset job per crate (#192)
The current job takes too long and fails due to the exponential growth caused by new features introduced in https://github.com/TrueLayer/reqwest-middleware/pull/188
2024-10-17 11:31:38 +01:00
Ethan Brierley 6d14d78d7a
refactor: fix `clippy::needless_borrows_for_generic_args` (#190) 2024-10-17 09:53:04 +01:00
Ethan Brierley 28a13232c0
docs: fix spelling `clonable` -> `cloneable` (#191) 2024-10-17 09:52:55 +01:00
Simen Bekkhus e7fcd56b12
feat: Support OTel 0.25 & 0.26 (#188)
* feat: Support OTel 0.25

* feat: Support OTel 0.26
2024-10-16 21:05:35 +01:00
Alexander Kjäll fc89e7ddb7
the example in the readme didn't compile (#189) 2024-10-16 20:25:08 +01:00
konsti 680741faf1
Add retries to error message (#159)
Co-authored-by: Ethan Brierley <ethanboxx@gmail.com>
2024-10-16 20:20:48 +01:00
Collin Styles cf06f0962a
Use new matchit syntax in documentation (#181)
* Use new matchit syntax in documentation

* Fix link in GitHub pull request template
2024-08-28 22:37:51 +01:00
Piotr Zaczkowski 211a6dea9f Code review suggestions 2024-08-28 22:37:06 +01:00
Piotr Zaczkowski d5290d056f Simplify 2024-08-28 22:37:06 +01:00
Piotr Zaczkowski d966ad89e5 Fix empty and different level naming 2024-08-28 22:37:06 +01:00
Piotr Zaczkowski 4ea0e42bcd Correct `use` 2024-08-28 22:37:06 +01:00
Piotr Zaczkowski 939681cd93 WIP... 2024-08-28 22:37:06 +01:00
Tom Finlayson 6cd4eb93f8 docs: add CHANGELOG entry 2024-08-22 16:14:38 +01:00
Tom Finlayson 3ddfded9e3 fix: restore adding http.url as an attribute when deprecated_attributes feature is enabled 2024-08-22 16:14:38 +01:00
Ethan Brierley 603ef97144 chore: prepare release 🚀
Prepare release of:
- reqwest-middleware 0.3.2 -> 0.3.3
- reqwest-tracing 0.5.2 -> 0.5.3
- reqwest-retry 0.6.0 -> 0.6.1
2024-08-09 09:17:32 +01:00
Thomas Nicollet 47f52327e8
Added `Default` derive to allow for same functionality as base type (#179) 2024-08-05 18:47:13 +00:00
David Mládek 053d329e8b
OpenTelemetry 0.24 support (#171)
* feat: support opentelemetry 0.24

* minor fix

* Fix opentelemetry 0.24 by upgrading tracing-opentelemetry to 0.25

---------

Co-authored-by: Aitor Fernandez <aitor.fernandez@truelayer.com>
Co-authored-by: Ethan Brierley <ethanboxx@gmail.com>
2024-07-30 09:46:19 +01:00
Ethan Brierley 730c402420 ci: use `cargo hack` feature powerset in CI
waiting on #175 & #176 to fix issues with the build

Recently a [change was introduced that did not compile](4a2b3f335e (r1689595502)) #167.

This was not caught by our CI becuase the feature was not enabled when building in CI.

This change ensures that every possible feature combination is attempted when running tests and clippy in CI. This adds up to 50 attempts for all of our features accross the three crates in this repo. This doesn't take too long since they share build cache.
2024-07-29 20:43:49 +01:00
Ethan Brierley ceeb058502 fix(test): enable `rustls-tls` for tests
This is helpful for [this test](c90089ebd4/reqwest-middleware/src/lib.rs (L8)).

This enables tests to pass when running `cargo test --no-default-features`.
2024-07-29 20:33:58 +01:00
Ethan Brierley c54a7733b9 fix(lint): `clippy::doc_lazy_continuation`
```
error: doc list item missing indentation
Error:   --> reqwest-retry/src/middleware.rs:62:4
   |
62 | /// `Body`'s `From<String>` or `From<Bytes>` implementations.
   |    ^
   |
   = help: if this is supposed to be its own paragraph, add a blank line
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation
   = note: `-D clippy::doc-lazy-continuation` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::doc_lazy_continuation)]`
help: indent this line
   |
62 | ///   `Body`'s `From<String>` or `From<Bytes>` implementations.
   |     ++

error: doc list item missing indentation
Error:   --> reqwest-retry/src/middleware.rs:65:4
   |
65 | /// source directly, avoiding the issue of streaming requests not being clonable.
   |    ^
   |
   = help: if this is supposed to be its own paragraph, add a blank line
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation
help: indent this line
   |
65 | ///   source directly, avoiding the issue of streaming requests not being clonable.
   |     ++

error: could not compile `reqwest-retry` (lib) due to 2 previous errors
```
2024-07-29 20:28:02 +01:00
Aitor Fernández c90089ebd4
fix: user-agent (#172)
* fix: user-agent

* add deprecated_attributes on actions

* add package-name/feature-name for visibility
2024-07-29 18:47:29 +01:00
Piotr Zaczkowski 33421175a8
Remove superfluous dependency to chrono (#170) 2024-07-23 11:15:17 +01:00
Aitor Fernández 4ce811911b
Add feature flag for deprecated fields (#167)
* Add feature flag for deprecated fields

* revert editor format

* rename flag

* remove unnecessary cfg not

* add comment and publish old and new attributes on request_span macro

* add comment

* update changelog

* Update reqwest-tracing/CHANGELOG.md

Co-authored-by: Ethan Brierley <ethanboxx@gmail.com>

* bump version

---------

Co-authored-by: Ethan Brierley <ethanboxx@gmail.com>
2024-07-15 11:53:31 +01:00
Ethan Brierley cb2121478a
chore: remove `reqwest-middleware` changelog from root (#166)
To be consistent with the other crates in this repo
2024-06-28 10:51:33 +01:00
Ethan Brierley f8c3e487de
chore: prepare release 🚀 (#165)
* chore: bump minor version for `reqwest-retry`

Breaking change introduced in https://github.com/TrueLayer/reqwest-middleware/pull/155

* chore: bump patch version for `reqwest-middlware`

* fix: `opentelemetry` item in wrong changelog

* chore: bump patch version for `reqwest-tracing`
2024-06-28 10:43:04 +01:00
Matt Palmer 524e044fd7
Re-export reqwest crate (#158)
* Re-export reqwest crate

In a large project, it's not unheard of for multiple mutually-incompatible versions of a major crate like `reqwest` to end up in the mix.  By re-exporting the version of `reqwest` used by `reqwest-middleware`, we can be sure we're referring to the *correct* `reqwest`, rather than some other, incompatible, `reqwest`.

* Update CHANGELOG.md

---------

Co-authored-by: Ethan Brierley <ethanboxx@gmail.com>
2024-06-26 20:35:44 +01:00
Matt Palmer 226562735c
Expose some more reqwest features (#160) 2024-06-25 10:20:53 +01:00
Marcus Griep 88dbfe67fb
feat: support opentelemetry 0.23 (#156) 2024-06-03 10:12:56 +01:00
pvichivanives 2927624652
Bump retry-policies to 0.4 (#155)
* bump reqwest to 0.4

* Update reqwest-retry/src/middleware.rs

Co-authored-by: Chris Beck <5683852+cbeck88@users.noreply.github.com>

* fix unwrap issue

---------

Co-authored-by: Chris Beck <5683852+cbeck88@users.noreply.github.com>
Co-authored-by: Ethan Brierley <ethanboxx@gmail.com>
2024-06-01 02:02:26 +01:00
Chris Beck 3ae02fcd8b
add re-exports from retry-policies crate (#157)
fixes #84
2024-06-01 01:57:43 +01:00
Ethan Brierley 620b089db1 chore: release minor `reqwest-middleware` 🚀 2024-05-07 11:53:24 +01:00
Stefan Adrian Danaita fa84b1fd41 [BOT-272] Function description update 2024-05-07 11:39:49 +01:00
Stefan Adrian Danaita 7dc0560d38 [BOT-272] Change function from ::extend to ::from_client 2024-05-07 11:39:49 +01:00
Stefan Adrian Danaita 8d394a964a [BOT-272] Fmt 2024-05-07 11:39:49 +01:00
Stefan Adrian Danaita d406eb2ce7 [BOT-272] ClientBuilder extend convenience function 2024-05-07 11:39:49 +01:00
Eirik Albrigtsen c558e7414a
main changelog entries
Signed-off-by: Eirik Albrigtsen <eirik.albrigtsen@truelayer.com>
2024-04-26 13:58:01 +01:00
Luca Palmieri 9ac5f691bf
Fix logging of `User-Agent` header in `reqwest-tracing` (#148) 2024-04-26 13:54:35 +01:00
Ben Beasley 1954b5c94f
Fix missing LICENSE-* files in released crates (#147)
* Fix missing LICENSE-* files in released crates

* Changelog: Included license files in crates
2024-04-26 13:53:50 +01:00
Simon abdf1844c3
feat(reqwest-retry): Configurable log level for retry event (#137)
* Make retry log level configurable

* Add Changelog entry

* Update macro

* Add comment with issue to macro

* Update CHANGELOG
2024-04-11 10:16:33 +01:00
Eirik Albrigtsen 24c277a763 Document breaking feature removal for reqwest-middleware
for #144
will edit the release object if accepted

Signed-off-by: Eirik Albrigtsen <eirik.albrigtsen@truelayer.com>
2024-04-10 14:26:14 +01:00
Ethan Brierley d2286b5e79 fix: Remove full url from default span & `http.url` -> `url.full` in `SpanBackendWithUrl` 2024-04-10 09:55:52 +01:00
Ethan Brierley d401fc52e7 chore: remove deprecated items (we're making a breaking change anyway) 2024-04-10 09:55:52 +01:00
Ethan Brierley 09189ab63e fix: test compilation 2024-04-10 09:55:52 +01:00
Christopher Serr 3422e7338c Match stable Semantic Conventions for HTTP Spans
The stable [Semantic Conventions for HTTP
Spans](https://opentelemetry.io/docs/specs/semconv/http/http-spans/) use
different keys than the ones used in this crate. This changes them to
match the keys as defined by the stable specification.
2024-04-10 09:55:52 +01:00
Ethan Brierley 94a38211f7
feat!: prepare breaking release (#143) 2024-04-10 09:55:41 +01:00
Ethan Brierley e778b7df11
chore: revert change switching from `Arc` to `Box` in public APIs (#142)
fixes #139

There are other potential long term solutions listed [here](https://github.com/TrueLayer/reqwest-middleware/issues/139#issuecomment-2045946644)

> I didn't put much thought into it. Internally there used to be a `Box<[Arc<dyn Middleware>]>` which is cloned about quite often.
>
> * https://docs.rs/reqwest-middleware/0.2.5/src/reqwest_middleware/client.rs.html#87
> * https://docs.rs/reqwest-middleware/0.2.5/src/reqwest_middleware/client.rs.html#139
>
> Because of all the cloning, I decided to flip it to be `Arc<Box>` instead of `Box<Arc>`.
>
> I see three solutions here.
>
> 1. The one I'd lean towards is `Arc<Arc>` even if it's a bit silly, but prevents extra unnecessary allocations on each request.
> 2. An alternative is to implement Middleware for Arc and then you can use the regular with(...) api. This would mean there's an extra box around your middleware
> 3. Revert this particular change

In the short term, I think it's best to go with option 3. This will unblock the next release. We can consider the other options for future releasees
2024-04-10 09:30:17 +01:00
Ethan Brierley 0bdb2b6ef4
feat!: upgrade to matchit `0.8.0` (#140)
A copy of #134 but just with the matchit upgrade.

Thank you @matiu2 for raising the original PR
2024-04-10 09:05:51 +01:00
Ethan Brierley cb083ad66e
Revert "Init dependabot (#116)" (#138)
This reverts commit 79dbb2d194.
2024-04-05 14:19:05 +01:00