Skip to content

Commit 2345aa6

Browse files
authored
Optional middleware (#95)
* Move middleware behind flag * Make middleware default * Bump version * Update version to 0.9
1 parent 011d903 commit 2345aa6

File tree

202 files changed

+25771
-27091
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

202 files changed

+25771
-27091
lines changed

Cargo.lock

Lines changed: 22 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
SHELL := bash
22

3-
VERSION = 0.8.0-rc.2
3+
VERSION = 0.9.0
44

55
DOCUSIGN_SPEC_DIR = $(CURDIR)/specs/docusign
66
DOCUSIGN_SPEC = $(DOCUSIGN_SPEC_DIR)/docusign.yaml

docusign/Cargo.toml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,25 @@
11
[package]
22
name = "docusign"
33
description = "A fully generated & opinionated API client for the DocuSign API."
4-
version = "0.8.0-rc.2"
4+
version = "0.9.0"
55
documentation = "https://docs.rs/docusign/"
66
repository = "https://github.com/oxidecomputer/third-party-api-clients/tree/main/docusign"
77
readme = "README.md"
88
edition = "2021"
99
license = "MIT"
1010

1111
[features]
12-
default = ["rustls-tls"]
12+
default = ["middleware", "rustls-tls"]
1313
# enable etag-based http_cache functionality
1414
httpcache = ["dirs"]
1515
native-tls = ["reqwest/default-tls", "openssl"]
1616
rustls-tls = ["reqwest/rustls-tls", "ring", "pem"]
17+
middleware = [
18+
"reqwest-conditional-middleware",
19+
"reqwest-middleware",
20+
"reqwest-retry",
21+
"reqwest-tracing",
22+
]
1723

1824
[dependencies]
1925
async-recursion = "^1.0"
@@ -28,10 +34,10 @@ parse_link_header = "0.3.3"
2834
pem = { version = "1.1.0", default-features = false, optional = true }
2935
percent-encoding = "2.2"
3036
reqwest = { version = "0.12", default-features = false, features = ["json", "multipart"] }
31-
reqwest-conditional-middleware = "0.4"
32-
reqwest-middleware = { version = "0.4", features = ["multipart"] }
33-
reqwest-retry = "0.7"
34-
reqwest-tracing = "0.5.4"
37+
reqwest-conditional-middleware = { version = "0.4", optional = true }
38+
reqwest-middleware = { version = "0.4", features = ["multipart"], optional = true }
39+
reqwest-retry = { version = "0.7", optional = true }
40+
reqwest-tracing = { version = "0.5.4", optional = true }
3541
ring = { version = "0.16", default-features = false, optional = true }
3642
schemars = { version = "0.8", features = ["bytes", "chrono", "url", "uuid1"] }
3743
serde = { version = "1", features = ["derive"] }

docusign/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ To install the library, add the following to your `Cargo.toml` file.
3232

3333
```toml
3434
[dependencies]
35-
docusign = "0.8.0-rc.2"
35+
docusign = "0.9.0"
3636
```
3737

3838
## Basic example

docusign/src/account_password_rules.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,7 @@ impl AccountPasswordRules {
8888
pub async fn password_rules_get(
8989
&self,
9090
) -> ClientResult<crate::Response<crate::types::UserPasswordRules>> {
91-
let url = self
92-
.client
93-
.url("/v2.1/current_user/password_rules", None);
91+
let url = self.client.url("/v2.1/current_user/password_rules", None);
9492
self.client
9593
.get(
9694
&url,

docusign/src/accounts.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,7 @@ impl Accounts {
167167
pub async fn get_provisioning(
168168
&self,
169169
) -> ClientResult<crate::Response<crate::types::ProvisioningInformation>> {
170-
let url = self
171-
.client
172-
.url("/v2.1/accounts/provisioning", None);
170+
let url = self.client.url("/v2.1/accounts/provisioning", None);
173171
self.client
174172
.get(
175173
&url,

docusign/src/appliance_info.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -868,9 +868,7 @@ impl ApplianceInfo {
868868
*
869869
*/
870870
pub async fn envelope_post_error(&self) -> ClientResult<crate::Response<()>> {
871-
let url = self
872-
.client
873-
.url("/v2.1/display_appliance_info/error", None);
871+
let url = self.client.url("/v2.1/display_appliance_info/error", None);
874872
self.client
875873
.post(
876874
&url,
@@ -891,9 +889,7 @@ impl ApplianceInfo {
891889
pub async fn envelope_post_redeem(
892890
&self,
893891
) -> ClientResult<crate::Response<crate::types::ApplianceInfo>> {
894-
let url = self
895-
.client
896-
.url("/v2.1/display_appliance_info/redeem", None);
892+
let url = self.client.url("/v2.1/display_appliance_info/redeem", None);
897893
self.client
898894
.post(
899895
&url,

docusign/src/lib.rs

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
//!
3131
//! ```toml
3232
//! [dependencies]
33-
//! docusign = "0.8.0-rc.2"
33+
//! docusign = "0.9.0"
3434
//! ```
3535
//!
3636
//! ## Basic example
@@ -2227,6 +2227,7 @@ pub enum ClientError {
22272227
/// Errors returned by reqwest::header
22282228
#[error(transparent)]
22292229
InvalidHeaderValue(#[from] reqwest::header::InvalidHeaderValue),
2230+
#[cfg(feature = "middleware")]
22302231
/// Errors returned by reqwest middleware
22312232
#[error(transparent)]
22322233
ReqwestMiddleWareError(#[from] reqwest_middleware::Error),
@@ -2297,7 +2298,10 @@ pub struct Client {
22972298
redirect_uri: String,
22982299

22992300
auto_refresh: bool,
2301+
#[cfg(feature = "middleware")]
23002302
client: reqwest_middleware::ClientWithMiddleware,
2303+
#[cfg(not(feature = "middleware"))]
2304+
client: reqwest::Client,
23012305
}
23022306

23032307
use schemars::JsonSchema;
@@ -2378,15 +2382,20 @@ impl Client {
23782382
.build();
23792383
match client {
23802384
Ok(c) => {
2381-
let client = reqwest_middleware::ClientBuilder::new(c)
2382-
// Trace HTTP requests. See the tracing crate to make use of these traces.
2383-
.with(reqwest_tracing::TracingMiddleware::default())
2384-
// Retry failed requests.
2385-
.with(reqwest_conditional_middleware::ConditionalMiddleware::new(
2386-
reqwest_retry::RetryTransientMiddleware::new_with_policy(retry_policy),
2387-
|req: &reqwest::Request| req.try_clone().is_some(),
2388-
))
2389-
.build();
2385+
#[cfg(feature = "middleware")]
2386+
let client = {
2387+
reqwest_middleware::ClientBuilder::new(c)
2388+
// Trace HTTP requests. See the tracing crate to make use of these traces.
2389+
.with(reqwest_tracing::TracingMiddleware::default())
2390+
// Retry failed requests.
2391+
.with(reqwest_conditional_middleware::ConditionalMiddleware::new(
2392+
reqwest_retry::RetryTransientMiddleware::new_with_policy(retry_policy),
2393+
|req: &reqwest::Request| req.try_clone().is_some(),
2394+
))
2395+
.build()
2396+
};
2397+
#[cfg(not(feature = "middleware"))]
2398+
let client = c;
23902399

23912400
let host = RootDefaultServer::default().default_url().to_string();
23922401

docusign/src/notary.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,7 @@ impl Notary {
5959
&self,
6060
body: &crate::types::NotaryData,
6161
) -> ClientResult<crate::Response<crate::types::NotaryData>> {
62-
let url = self
63-
.client
64-
.url("/v2.1/current_user/notary", None);
62+
let url = self.client.url("/v2.1/current_user/notary", None);
6563
self.client
6664
.put(
6765
&url,
@@ -83,9 +81,7 @@ impl Notary {
8381
&self,
8482
body: &crate::types::NotaryData,
8583
) -> ClientResult<crate::Response<crate::types::NotaryData>> {
86-
let url = self
87-
.client
88-
.url("/v2.1/current_user/notary", None);
84+
let url = self.client.url("/v2.1/current_user/notary", None);
8985
self.client
9086
.post(
9187
&url,

0 commit comments

Comments
 (0)