Commit Graph

143 Commits (main)

Author SHA1 Message Date
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
Ethan Brierley 938a3a0e3c
chore: `cargo-fmt` 2024-04-03 18:23:30 +01:00
Conrad Ludgate 60212ae451
reqwest 0.12 and other breaking changes (#135)
* update reqwest and http crates

remove task_local_extensions

* remove older opentelemetry packages

* remove more legacy and add new otel

* attempt to make features additive

* features are additive

* delete commented out code

* build split

* docs

* more uniform with reqwest::Client

* remove arcs

* slight optimisation

* update readmes

* update changelog
2024-04-03 18:13:10 +01:00
Ethan Brierley 69269e183a
chore(request-middleware): release patch version 🚀 (#131) 2024-03-15 16:27:00 +00:00
Ethan Brierley a7df7657e6
chore(request-tracing): release patch version 🚀 (#123) 2024-03-15 16:26:17 +00:00
dependabot[bot] 89ce2efb88
Bump actions/checkout from 2 to 4 (#125)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-15 16:18:36 +00:00
Pohan 0edce5364e
Update reqwest version to 0.11.10 (#115)
* Update reqwest version to 0.11.10

* chore: udpate the correct version

---------

Co-authored-by: Ethan Brierley <ethan.brierley@truelayer.com>
2024-03-15 16:18:04 +00:00
Vasiliy Taranov 79dbb2d194
Init dependabot (#116) 2024-03-12 15:10:38 +00:00
Vasiliy Taranov 2a3f239a05
fix typos, add github action (#122) 2024-03-12 15:10:18 +00:00