Skip to content

feat!: libdatadog wasm#70

Draft
Aaalibaba42 wants to merge 7 commits intomainfrom
jwiriath/libdatadog-wasm-effort
Draft

feat!: libdatadog wasm#70
Aaalibaba42 wants to merge 7 commits intomainfrom
jwiriath/libdatadog-wasm-effort

Conversation

@Aaalibaba42
Copy link
Copy Markdown

ongoing effort to make libdatadog wasm compatible.

@Aaalibaba42 Aaalibaba42 requested review from a team as code owners February 13, 2026 11:09
@Aaalibaba42 Aaalibaba42 marked this pull request as draft February 13, 2026 12:37
@github-actions
Copy link
Copy Markdown

Overall package size

Self size: 37.03 MB
Deduped: 37.03 MB
No deduping: 37.03 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------|

🤖 This report was automatically generated by heaviest-objects-in-the-universe

const parsed = new URL(url);
const transport = parsed.protocol === 'https:' ? https : http;

return new Promise((resolve, reject) => {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using a promise here is a bit of a code smell. That said, it's the easiest to map to Futures, so I'm fine with keeping it here.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mean like using fetch directly that returns "natively" a Promise ? Or not using promises at all ?

/// Parse response headers from a JS object `{ "header-name": "value", ... }`.
///
/// Node.js `res.headers` returns lowercased header names with string values.
fn parse_response_headers(result: &JsValue) -> Result<Vec<(String, String)>, HttpError> {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dealing w/ JsValue directly can sometimes be a perf bottleneck. It's fine for now though. We can benchmark later.

Alternatives would be sending un-parsed headers (i.e. raw packet data) in here directly. Yep, that's a thing we can do.

We can also consider the network socket interface as a potential replacement layer here. Regardless, we have tons of room to figure that out and make improvements as we go, so this is all fine for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants