Skip to content

Commit a3621ac

Browse files
committed
Add support for EdgeKV access tokens using reference
1 parent 0b33b6c commit a3621ac

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

edgekv/lib/edgekv.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,15 +108,21 @@ export class EdgeKV {
108108
}
109109
}
110110

111-
getNamespaceToken(namespace) {
111+
getNamespaceTokenHeader(namespace) {
112112
if (this.#token_override) {
113113
return this.#token_override;
114114
}
115115
let name = "namespace-" + namespace;
116116
if (!(name in edgekv_access_tokens)) {
117117
throw "MISSING ACCESS TOKEN. No EdgeKV Access Token defined for namespace '" + namespace + "'.";
118118
}
119-
return edgekv_access_tokens[name]["value"];
119+
if ("value" in edgekv_access_tokens[name]) {
120+
return { 'X-Akamai-EdgeDB-Auth': [edgekv_access_tokens[name]["value"]]};
121+
} else if ("reference" in edgekv_access_tokens[name]) {
122+
return { 'X-Akamai-EdgeDB-Auth-Ref': [edgekv_access_tokens[name]["reference"]]};
123+
} else {
124+
throw "MISSING ACCESS TOKEN. No EdgeKV Access Token value or reference defined for namespace '" + namespace + "'.";
125+
}
120126
}
121127

122128
addTimeout(options, timeout) {
@@ -161,7 +167,7 @@ export class EdgeKV {
161167
return httpRequest(this.addSandboxId(uri), this.addTimeout({
162168
method: "PUT",
163169
body: typeof value === "object" ? JSON.stringify(value) : value,
164-
headers: { "X-Akamai-EdgeDB-Auth": [this.getNamespaceToken(namespace)] }
170+
headers: { ...this.getNamespaceTokenHeader(namespace) }
165171
}, timeout));
166172
}
167173

@@ -248,7 +254,7 @@ export class EdgeKV {
248254
let uri = this.#edgekv_uri + "/api/v1/namespaces/" + namespace + "/groups/" + group + "/items/" + item;
249255
return httpRequest(this.addSandboxId(uri), this.addTimeout({
250256
method: "GET",
251-
headers: { "X-Akamai-EdgeDB-Auth": [this.getNamespaceToken(namespace)] }
257+
headers: { ...this.getNamespaceTokenHeader(namespace) }
252258
}, timeout));
253259
}
254260

@@ -303,7 +309,7 @@ export class EdgeKV {
303309
let uri = this.#edgekv_uri + "/api/v1/namespaces/" + namespace + "/groups/" + group + "/items/" + item;
304310
return httpRequest(this.addSandboxId(uri), this.addTimeout({
305311
method: "DELETE",
306-
headers: { "X-Akamai-EdgeDB-Auth": [this.getNamespaceToken(namespace)] }
312+
headers: { ...this.getNamespaceTokenHeader(namespace) }
307313
}, timeout));
308314
}
309315

0 commit comments

Comments
 (0)