Skip to content

Commit

Permalink
reqwest 0.12 and other breaking changes (#135)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
conradludgate committed Apr 3, 2024
1 parent 69269e1 commit 60212ae
Show file tree
Hide file tree
Showing 20 changed files with 513 additions and 279 deletions.
21 changes: 0 additions & 21 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,6 @@ jobs:
strategy:
matrix:
otel_version:
- opentelemetry_0_13
- opentelemetry_0_14
- opentelemetry_0_15
- opentelemetry_0_16
- opentelemetry_0_17
- opentelemetry_0_18
- opentelemetry_0_19
- opentelemetry_0_20
- opentelemetry_0_21
- opentelemetry_0_22
Expand Down Expand Up @@ -61,13 +54,6 @@ jobs:
strategy:
matrix:
otel_version:
- opentelemetry_0_13
- opentelemetry_0_14
- opentelemetry_0_15
- opentelemetry_0_16
- opentelemetry_0_17
- opentelemetry_0_18
- opentelemetry_0_19
- opentelemetry_0_20
- opentelemetry_0_21
- opentelemetry_0_22
Expand Down Expand Up @@ -102,13 +88,6 @@ jobs:
strategy:
matrix:
otel_version:
- opentelemetry_0_13
- opentelemetry_0_14
- opentelemetry_0_15
- opentelemetry_0_16
- opentelemetry_0_17
- opentelemetry_0_18
- opentelemetry_0_19
- opentelemetry_0_20
- opentelemetry_0_21
- opentelemetry_0_22
Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Breaking changes
- Updated `reqwest` to `0.12.0`.
- Removed `task_local_extensions` in favour of `http::Extensions`.
- All extensions must be `Clone` now.
- Replaced `with_arc` and `with_arc_init` methods with `with_box` and `with_box_init`.

### Changed
- `RequestBuilder::try_clone` now clones the extensions.

### Added
- implemented `Service` for `ClientWithMiddleware` to have more feature parity with `reqwest`.
- Added more methods like `build_split` to have more feature parity with `reqwest.`
- Added a lot more documentation

### [0.2.5] - 2024-03-15

### Changed
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ The `reqwest-middleware` client exposes the same interface as a plain `reqwest`
# Cargo.toml
# ...
[dependencies]
reqwest = "0.11"
reqwest-middleware = "0.1.6"
reqwest-retry = "0.1.5"
reqwest-tracing = "0.2.3"
tokio = { version = "1.12.0", features = ["macros", "rt-multi-thread"] }
reqwest = { version = "0.12", features = ["rustls-tls"] }
reqwest-middleware = "0.3"
reqwest-retry = "0.5"
reqwest-tracing = "0.5"
tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] }
```

```rust
Expand Down
14 changes: 9 additions & 5 deletions reqwest-middleware/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "reqwest-middleware"
version = "0.2.5"
version = "0.3.0"
authors = ["Rodrigo Gryzinski <rodrigo.gryzinski@truelayer.com>"]
edition = "2018"
description = "Wrapper around reqwest to allow for client middleware chains."
Expand All @@ -10,17 +10,21 @@ keywords = ["reqwest", "http", "middleware"]
categories = ["web-programming::http-client"]
readme = "../README.md"

[features]
multipart = ["reqwest/multipart"]
json = ["reqwest/json"]

[dependencies]
anyhow = "1.0.0"
async-trait = "0.1.51"
http = "0.2.0"
reqwest = { version = "0.11.10", default-features = false, features = ["json", "multipart"] }
http = "1.0.0"
reqwest = { version = "0.12.0", default-features = false }
serde = "1.0.106"
task-local-extensions = "0.1.4"
thiserror = "1.0.21"
tower-service = "0.3.0"

[dev-dependencies]
reqwest-retry = { path = "../reqwest-retry" }
reqwest-tracing = { path = "../reqwest-tracing" }
tokio = { version = "1.0.0", features = ["macros", "rt-multi-thread"] }
wiremock = "0.5.0"
wiremock = "0.6.0"
Loading

0 comments on commit 60212ae

Please sign in to comment.