Skip to content

Commit b30263e

Browse files
authored
Remove dummy auth & add trace header (#10678)
* Remove dummy auth & add trace header * add lockfile * Create pink-bees-brake.md * Remove dummy auth from SDK setup * address comments
1 parent 1cc258e commit b30263e

File tree

7 files changed

+34
-11
lines changed

7 files changed

+34
-11
lines changed

.changeset/pink-beees-brake.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"wrangler": patch
3+
---
4+
5+
Remove dummy auth from SDK setup

.changeset/pink-bees-brake.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"wrangler": patch
3+
---
4+
5+
Add `WRANGLER_TRACE_ID` environment variable to support internal testing

packages/wrangler/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@
111111
"chalk": "^5.2.0",
112112
"chokidar": "^4.0.1",
113113
"cli-table3": "^0.6.3",
114-
"cloudflare": "^4.5.0",
114+
"cloudflare": "^5.1.0",
115115
"cmd-shim": "^4.1.0",
116116
"command-exists": "^1.2.9",
117117
"concurrently": "^8.2.2",

packages/wrangler/src/cfetch/internal.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ import assert from "node:assert";
22
import Cloudflare from "cloudflare";
33
import { fetch, FormData, Headers, Request, Response } from "undici";
44
import { version as wranglerVersion } from "../../package.json";
5-
import { getCloudflareApiBaseUrl } from "../environment-variables/misc-variables";
5+
import {
6+
getCloudflareApiBaseUrl,
7+
getTraceHeader,
8+
} from "../environment-variables/misc-variables";
69
import { UserError } from "../errors";
710
import { logger } from "../logger";
811
import { APIError, parseJSON } from "../parse";
@@ -73,10 +76,6 @@ export function createCloudflareClient(complianceConfig: ComplianceConfig) {
7376
await logResponse(response);
7477
return response;
7578
},
76-
// We inject authentication using Wrangler's existing auth setup and a custom fetcher (see above for the custom fetch)
77-
// However, `cloudflare` doesn't like not being given an API token, so we provide a dummy one
78-
// Otherwise, errors like "Could not resolve authentication method." are thrown.
79-
apiToken: "dummy",
8079
baseURL: getCloudflareApiBaseUrl(complianceConfig),
8180
});
8281
}
@@ -104,6 +103,7 @@ export async function performApiFetch(
104103
const headers = cloneHeaders(new Headers(init.headers));
105104
addAuthorizationHeader(headers, apiToken);
106105
addUserAgent(headers);
106+
maybeAddTraceHeader(headers);
107107

108108
const queryString = queryParams ? `?${queryParams.toString()}` : "";
109109
logger.debug(
@@ -243,6 +243,13 @@ export function addUserAgent(headers: Headers): void {
243243
headers.set("User-Agent", `wrangler/${wranglerVersion}`);
244244
}
245245

246+
export function maybeAddTraceHeader(headers: Headers): void {
247+
const traceHeader = getTraceHeader();
248+
if (traceHeader) {
249+
headers.set("Cf-Trace-Id", traceHeader);
250+
}
251+
}
252+
246253
/**
247254
* The implementation for fetching a kv value from the cloudflare API.
248255
* We special-case this one call, because it's the only API call that

packages/wrangler/src/environment-variables/factory.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ type VariableNames =
3636
| "CLOUDFLARE_LOAD_DEV_VARS_FROM_DOT_ENV"
3737
/** Include process.env in development variables (default: false). */
3838
| "CLOUDFLARE_INCLUDE_PROCESS_ENV"
39+
/** Include a trace header in all API requests that Wrangler makes (for internal use only) */
40+
| "WRANGLER_TRACE_ID"
3941

4042
// ## Logging & Output
4143

packages/wrangler/src/environment-variables/misc-variables.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,3 +290,7 @@ export const getCloudflareIncludeProcessEnvFromEnv =
290290
variableName: "CLOUDFLARE_INCLUDE_PROCESS_ENV",
291291
defaultValue: false,
292292
});
293+
294+
export const getTraceHeader = getEnvironmentVariableFactory({
295+
variableName: "WRANGLER_TRACE_ID",
296+
});

pnpm-lock.yaml

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

0 commit comments

Comments
 (0)