Skip to content

Commit ae0ee97

Browse files
Merge pull request #261 from datadog-labs/feat/wasm-native-client-dedup
feat(wasm): use typed DD client on all targets, eliminate ~4400 lines of duplicate impls
2 parents 9b848d5 + 6d6be45 commit ae0ee97

53 files changed

Lines changed: 171 additions & 4512 deletions

Some content is hidden

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

Cargo.lock

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

Cargo.toml

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@ crate-type = ["cdylib", "rlib"]
1414
default = ["native"]
1515
native = [
1616
"dep:datadog-api-client",
17+
"datadog-api-client/native-tls",
18+
"datadog-api-client/zstd",
19+
"datadog-api-client/retry",
1720
"dep:keyring",
1821
"dep:dirs",
1922
"dep:open",
20-
"dep:reqwest-middleware",
21-
"dep:async-trait",
2223
"dep:task-local-extensions",
2324
"dep:sha2",
2425
"dep:base64",
@@ -40,6 +41,9 @@ native = [
4041
"dep:tokio-util",
4142
]
4243
wasi = [
44+
"dep:datadog-api-client",
45+
"datadog-api-client/rustls-tls",
46+
"datadog-api-client/retry",
4347
"dep:sha2",
4448
"dep:base64",
4549
"dep:rand",
@@ -52,9 +56,11 @@ wasi = [
5256
"dep:clap_complete",
5357
"tokio/rt",
5458
"tokio/macros",
59+
"tokio/time",
5560
]
5661
vendored-openssl = ["dep:openssl"]
5762
browser = [
63+
"dep:datadog-api-client",
5864
"dep:wasm-bindgen",
5965
"dep:wasm-bindgen-futures",
6066
"dep:js-sys",
@@ -114,12 +120,14 @@ ssh-key = { version = "0.6", features = ["p256", "std"], optional = true }
114120
futures = { version = "0.3", optional = true }
115121
tokio-util = { version = "0.7", features = ["compat", "io"], optional = true }
116122

117-
# Datadog API client (pins reqwest 0.11 + reqwest-middleware 0.2)
118-
datadog-api-client = { git = "https://github.com/DataDog/datadog-api-client-rust", rev = "78857cd3d1d39eaf0bd0d39e2c41bafd245ddc30", optional = true }
123+
# Datadog API client — wasm32 build support merged in f3ff218c
124+
# Use default-features = false; feature sets are activated per-target via features above
125+
datadog-api-client = { git = "https://github.com/DataDog/datadog-api-client-rust", rev = "f3ff218ce6456fd859652f0b1f84cc307637f115", optional = true, default-features = false }
119126

120-
# HTTP middleware (version-matched to DD client)
121-
reqwest-middleware = { version = "0.2", optional = true }
122-
async-trait = { version = "0.1", optional = true }
127+
# HTTP middleware (version-matched to DD client; compiles on all targets)
128+
reqwest-middleware = "0.2"
129+
async-trait = "0.1"
130+
# task-local-extensions is used only by the native bearer-token middleware impl
123131
task-local-extensions = { version = "0.1", optional = true }
124132

125133
# OS keychain for token storage

0 commit comments

Comments
 (0)