@upstash/qstash 2.7.17 → 2.7.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{chunk-IJTMXF3U.mjs → chunk-L2DZYBAR.mjs} +1 -1
- package/{chunk-JR675EKS.mjs → chunk-RNFKMAEP.mjs} +3 -2
- package/{chunk-2V6WQVIN.mjs → chunk-S5ODGXCI.mjs} +46 -26
- package/{client-BY4y-4To.d.ts → client-CdYtp0E1.d.mts} +12 -0
- package/{client-BY4y-4To.d.mts → client-CdYtp0E1.d.ts} +12 -0
- package/cloudflare.d.mts +1 -1
- package/cloudflare.d.ts +1 -1
- package/cloudflare.js +46 -26
- package/cloudflare.mjs +1 -1
- package/h3.d.mts +1 -1
- package/h3.d.ts +1 -1
- package/h3.js +46 -26
- package/h3.mjs +3 -3
- package/hono.d.mts +1 -1
- package/hono.d.ts +1 -1
- package/hono.js +46 -26
- package/hono.mjs +1 -1
- package/index.d.mts +3 -2
- package/index.d.ts +3 -2
- package/index.js +48 -27
- package/index.mjs +2 -2
- package/nextjs.d.mts +1 -1
- package/nextjs.d.ts +1 -1
- package/nextjs.js +46 -26
- package/nextjs.mjs +1 -1
- package/nuxt.mjs +3 -3
- package/package.json +1 -1
- package/solidjs.d.mts +1 -1
- package/solidjs.d.ts +1 -1
- package/solidjs.js +46 -26
- package/solidjs.mjs +2 -2
- package/svelte.d.mts +1 -1
- package/svelte.d.ts +1 -1
- package/svelte.js +46 -26
- package/svelte.mjs +2 -2
- package/workflow.d.mts +1 -1
- package/workflow.d.ts +1 -1
- package/workflow.js +46 -26
- package/workflow.mjs +1 -1
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BaseProvider
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-S5ODGXCI.mjs";
|
|
4
4
|
|
|
5
5
|
// src/client/api/email.ts
|
|
6
6
|
var EmailProvider = class extends BaseProvider {
|
|
7
7
|
apiKind = "email";
|
|
8
8
|
batch;
|
|
9
|
+
method = "POST";
|
|
9
10
|
constructor(baseUrl, token, owner, batch) {
|
|
10
11
|
super(baseUrl, token, owner);
|
|
11
12
|
this.batch = batch;
|
|
@@ -15,7 +16,7 @@ var EmailProvider = class extends BaseProvider {
|
|
|
15
16
|
}
|
|
16
17
|
getHeaders(_options) {
|
|
17
18
|
return {
|
|
18
|
-
|
|
19
|
+
authorization: `Bearer ${this.token}`
|
|
19
20
|
};
|
|
20
21
|
}
|
|
21
22
|
onFinish(providerInfo, _options) {
|
|
@@ -201,6 +201,7 @@ var HttpClient = class {
|
|
|
201
201
|
authorization;
|
|
202
202
|
options;
|
|
203
203
|
retry;
|
|
204
|
+
headers;
|
|
204
205
|
constructor(config) {
|
|
205
206
|
this.baseUrl = config.baseUrl.replace(/\/$/, "");
|
|
206
207
|
this.authorization = config.authorization;
|
|
@@ -212,6 +213,7 @@ var HttpClient = class {
|
|
|
212
213
|
attempts: config.retry?.retries ?? 5,
|
|
213
214
|
backoff: config.retry?.backoff ?? ((retryCount) => Math.exp(retryCount) * 50)
|
|
214
215
|
};
|
|
216
|
+
this.headers = config.headers;
|
|
215
217
|
}
|
|
216
218
|
async request(request) {
|
|
217
219
|
const { response } = await this.requestWithBackoff(request);
|
|
@@ -564,6 +566,7 @@ var BaseProvider = class {
|
|
|
564
566
|
var LLMProvider = class extends BaseProvider {
|
|
565
567
|
apiKind = "llm";
|
|
566
568
|
organization;
|
|
569
|
+
method = "POST";
|
|
567
570
|
constructor(baseUrl, token, owner, organization) {
|
|
568
571
|
super(baseUrl, token, owner);
|
|
569
572
|
this.organization = organization;
|
|
@@ -640,15 +643,24 @@ var getProviderInfo = (api, upstashToken) => {
|
|
|
640
643
|
baseUrl: finalProvider.baseUrl,
|
|
641
644
|
route: finalProvider.getRoute(),
|
|
642
645
|
appendHeaders: finalProvider.getHeaders(parameters),
|
|
643
|
-
owner: finalProvider.owner
|
|
646
|
+
owner: finalProvider.owner,
|
|
647
|
+
method: finalProvider.method
|
|
644
648
|
};
|
|
645
649
|
return finalProvider.onFinish(providerInfo, parameters);
|
|
646
650
|
};
|
|
647
|
-
var
|
|
651
|
+
var safeJoinHeaders = (headers, record) => {
|
|
652
|
+
const joinedHeaders = new Headers(record);
|
|
653
|
+
for (const [header, value] of headers.entries()) {
|
|
654
|
+
joinedHeaders.set(header, value);
|
|
655
|
+
}
|
|
656
|
+
return joinedHeaders;
|
|
657
|
+
};
|
|
658
|
+
var processApi = (request, headers, upstashToken) => {
|
|
648
659
|
if (!request.api) {
|
|
660
|
+
request.headers = headers;
|
|
649
661
|
return request;
|
|
650
662
|
}
|
|
651
|
-
const { url, appendHeaders, owner } = getProviderInfo(request.api, upstashToken);
|
|
663
|
+
const { url, appendHeaders, owner, method } = getProviderInfo(request.api, upstashToken);
|
|
652
664
|
if (request.api.name === "llm") {
|
|
653
665
|
const callback = request.callback;
|
|
654
666
|
if (!callback) {
|
|
@@ -656,21 +668,15 @@ var processApi = (request, upstashToken) => {
|
|
|
656
668
|
}
|
|
657
669
|
return {
|
|
658
670
|
...request,
|
|
659
|
-
|
|
660
|
-
headers:
|
|
661
|
-
...request.headers,
|
|
662
|
-
...appendHeaders
|
|
663
|
-
}),
|
|
671
|
+
method: request.method ?? method,
|
|
672
|
+
headers: safeJoinHeaders(headers, appendHeaders),
|
|
664
673
|
...owner === "upstash" && !request.api.analytics ? { api: { name: "llm" }, url: void 0, callback } : { url, api: void 0 }
|
|
665
674
|
};
|
|
666
675
|
} else {
|
|
667
676
|
return {
|
|
668
677
|
...request,
|
|
669
|
-
|
|
670
|
-
headers:
|
|
671
|
-
...request.headers,
|
|
672
|
-
...appendHeaders
|
|
673
|
-
}),
|
|
678
|
+
method: request.method ?? method,
|
|
679
|
+
headers: safeJoinHeaders(headers, appendHeaders),
|
|
674
680
|
url,
|
|
675
681
|
api: void 0
|
|
676
682
|
};
|
|
@@ -718,6 +724,16 @@ function prefixHeaders(headers) {
|
|
|
718
724
|
}
|
|
719
725
|
return headers;
|
|
720
726
|
}
|
|
727
|
+
function wrapWithGlobalHeaders(headers, globalHeaders) {
|
|
728
|
+
if (!globalHeaders) {
|
|
729
|
+
return headers;
|
|
730
|
+
}
|
|
731
|
+
const finalHeaders = new Headers(globalHeaders);
|
|
732
|
+
headers.forEach((value, key) => {
|
|
733
|
+
finalHeaders.set(key, value);
|
|
734
|
+
});
|
|
735
|
+
return finalHeaders;
|
|
736
|
+
}
|
|
721
737
|
function processHeaders(request) {
|
|
722
738
|
const headers = prefixHeaders(new Headers(request.headers));
|
|
723
739
|
headers.set("Upstash-Method", request.method ?? "POST");
|
|
@@ -864,7 +880,10 @@ var Queue = class {
|
|
|
864
880
|
if (!this.queueName) {
|
|
865
881
|
throw new Error("Please provide a queue name to the Queue constructor");
|
|
866
882
|
}
|
|
867
|
-
const headers =
|
|
883
|
+
const headers = wrapWithGlobalHeaders(
|
|
884
|
+
processHeaders(request),
|
|
885
|
+
this.http.headers
|
|
886
|
+
);
|
|
868
887
|
const destination = getRequestPath(request);
|
|
869
888
|
const response = await this.http.request({
|
|
870
889
|
path: ["v2", "enqueue", this.queueName, destination],
|
|
@@ -880,13 +899,11 @@ var Queue = class {
|
|
|
880
899
|
async enqueueJSON(request) {
|
|
881
900
|
const headers = prefixHeaders(new Headers(request.headers));
|
|
882
901
|
headers.set("Content-Type", "application/json");
|
|
883
|
-
request.headers = headers;
|
|
884
902
|
const upstashToken = String(this.http.authorization).split("Bearer ")[1];
|
|
885
|
-
const nonApiRequest = processApi(request, upstashToken);
|
|
903
|
+
const nonApiRequest = processApi(request, headers, upstashToken);
|
|
886
904
|
const response = await this.enqueue({
|
|
887
905
|
...nonApiRequest,
|
|
888
|
-
body: JSON.stringify(nonApiRequest.body)
|
|
889
|
-
headers
|
|
906
|
+
body: JSON.stringify(nonApiRequest.body)
|
|
890
907
|
});
|
|
891
908
|
return response;
|
|
892
909
|
}
|
|
@@ -970,7 +987,7 @@ var Schedules = class {
|
|
|
970
987
|
}
|
|
971
988
|
return await this.http.request({
|
|
972
989
|
method: "POST",
|
|
973
|
-
headers,
|
|
990
|
+
headers: wrapWithGlobalHeaders(headers, this.http.headers),
|
|
974
991
|
path: ["v2", "schedules", request.destination],
|
|
975
992
|
body: request.body
|
|
976
993
|
});
|
|
@@ -1096,7 +1113,9 @@ var Client = class {
|
|
|
1096
1113
|
this.http = new HttpClient({
|
|
1097
1114
|
retry: config.retry,
|
|
1098
1115
|
baseUrl: config.baseUrl ? config.baseUrl.replace(/\/$/, "") : "https://qstash.upstash.io",
|
|
1099
|
-
authorization: `Bearer ${config.token}
|
|
1116
|
+
authorization: `Bearer ${config.token}`,
|
|
1117
|
+
//@ts-expect-error caused by undici and bunjs type overlap
|
|
1118
|
+
headers: prefixHeaders(new Headers(config.headers))
|
|
1100
1119
|
});
|
|
1101
1120
|
this.token = config.token;
|
|
1102
1121
|
}
|
|
@@ -1171,7 +1190,10 @@ var Client = class {
|
|
|
1171
1190
|
return new Chat(this.http, this.token);
|
|
1172
1191
|
}
|
|
1173
1192
|
async publish(request) {
|
|
1174
|
-
const headers =
|
|
1193
|
+
const headers = wrapWithGlobalHeaders(
|
|
1194
|
+
processHeaders(request),
|
|
1195
|
+
this.http.headers
|
|
1196
|
+
);
|
|
1175
1197
|
const response = await this.http.request({
|
|
1176
1198
|
path: ["v2", "publish", getRequestPath(request)],
|
|
1177
1199
|
body: request.body,
|
|
@@ -1187,9 +1209,8 @@ var Client = class {
|
|
|
1187
1209
|
async publishJSON(request) {
|
|
1188
1210
|
const headers = prefixHeaders(new Headers(request.headers));
|
|
1189
1211
|
headers.set("Content-Type", "application/json");
|
|
1190
|
-
request.headers = headers;
|
|
1191
1212
|
const upstashToken = String(this.http.authorization).split("Bearer ")[1];
|
|
1192
|
-
const nonApiRequest = processApi(request, upstashToken);
|
|
1213
|
+
const nonApiRequest = processApi(request, headers, upstashToken);
|
|
1193
1214
|
const response = await this.publish({
|
|
1194
1215
|
...nonApiRequest,
|
|
1195
1216
|
body: JSON.stringify(nonApiRequest.body)
|
|
@@ -1202,7 +1223,7 @@ var Client = class {
|
|
|
1202
1223
|
async batch(request) {
|
|
1203
1224
|
const messages = [];
|
|
1204
1225
|
for (const message of request) {
|
|
1205
|
-
const headers = processHeaders(message);
|
|
1226
|
+
const headers = wrapWithGlobalHeaders(processHeaders(message), this.http.headers);
|
|
1206
1227
|
const headerEntries = Object.fromEntries(headers.entries());
|
|
1207
1228
|
messages.push({
|
|
1208
1229
|
destination: getRequestPath(message),
|
|
@@ -1230,9 +1251,8 @@ var Client = class {
|
|
|
1230
1251
|
if ("body" in message) {
|
|
1231
1252
|
message.body = JSON.stringify(message.body);
|
|
1232
1253
|
}
|
|
1233
|
-
message.headers = new Headers(message.headers);
|
|
1234
1254
|
const upstashToken = String(this.http.authorization).split("Bearer ")[1];
|
|
1235
|
-
const nonApiMessage = processApi(message, upstashToken);
|
|
1255
|
+
const nonApiMessage = processApi(message, new Headers(message.headers), upstashToken);
|
|
1236
1256
|
nonApiMessage.headers.set("Content-Type", "application/json");
|
|
1237
1257
|
return nonApiMessage;
|
|
1238
1258
|
});
|
|
@@ -127,6 +127,10 @@ type ProviderInfo = {
|
|
|
127
127
|
* provider owner
|
|
128
128
|
*/
|
|
129
129
|
owner: Owner;
|
|
130
|
+
/**
|
|
131
|
+
* method to use in the request
|
|
132
|
+
*/
|
|
133
|
+
method: HTTPMethods;
|
|
130
134
|
};
|
|
131
135
|
type ApiKind = "llm" | "email";
|
|
132
136
|
type Owner = EmailOwner | LLMOwner;
|
|
@@ -153,6 +157,7 @@ type PublishLLMApi = PublishApi<"llm", BaseProvider<"llm", LLMOwner>> & LLMOptio
|
|
|
153
157
|
|
|
154
158
|
declare abstract class BaseProvider<TName extends ApiKind, TOwner = Owner> {
|
|
155
159
|
abstract readonly apiKind: TName;
|
|
160
|
+
abstract readonly method: HTTPMethods;
|
|
156
161
|
readonly baseUrl: string;
|
|
157
162
|
token: string;
|
|
158
163
|
readonly owner: TOwner;
|
|
@@ -171,6 +176,7 @@ declare abstract class BaseProvider<TName extends ApiKind, TOwner = Owner> {
|
|
|
171
176
|
declare class LLMProvider<TOwner extends LLMOwner> extends BaseProvider<"llm", LLMOwner> {
|
|
172
177
|
readonly apiKind = "llm";
|
|
173
178
|
readonly organization?: string;
|
|
179
|
+
readonly method = "POST";
|
|
174
180
|
constructor(baseUrl: string, token: string, owner: TOwner, organization?: string);
|
|
175
181
|
getRoute(): string[];
|
|
176
182
|
getHeaders(options: LLMOptions): Record<string, string>;
|
|
@@ -356,6 +362,7 @@ type UpstashResponse<TResult> = TResult & {
|
|
|
356
362
|
type Requester = {
|
|
357
363
|
request: <TResult = unknown>(request: UpstashRequest) => Promise<UpstashResponse<TResult>>;
|
|
358
364
|
requestStream: (request: UpstashRequest) => AsyncIterable<ChatCompletionChunk>;
|
|
365
|
+
headers?: Headers;
|
|
359
366
|
};
|
|
360
367
|
type RetryConfig = false | {
|
|
361
368
|
/**
|
|
@@ -1568,6 +1575,11 @@ type ClientConfig = {
|
|
|
1568
1575
|
* Configure how the client should retry requests.
|
|
1569
1576
|
*/
|
|
1570
1577
|
retry?: RetryConfig;
|
|
1578
|
+
/**
|
|
1579
|
+
* Global headers to send with each request.
|
|
1580
|
+
* These can be overridden by the headers in the request.
|
|
1581
|
+
*/
|
|
1582
|
+
headers?: HeadersInit;
|
|
1571
1583
|
};
|
|
1572
1584
|
type PublishBatchRequest<TBody = BodyInit> = PublishRequest<TBody> & {
|
|
1573
1585
|
queueName?: string;
|
|
@@ -127,6 +127,10 @@ type ProviderInfo = {
|
|
|
127
127
|
* provider owner
|
|
128
128
|
*/
|
|
129
129
|
owner: Owner;
|
|
130
|
+
/**
|
|
131
|
+
* method to use in the request
|
|
132
|
+
*/
|
|
133
|
+
method: HTTPMethods;
|
|
130
134
|
};
|
|
131
135
|
type ApiKind = "llm" | "email";
|
|
132
136
|
type Owner = EmailOwner | LLMOwner;
|
|
@@ -153,6 +157,7 @@ type PublishLLMApi = PublishApi<"llm", BaseProvider<"llm", LLMOwner>> & LLMOptio
|
|
|
153
157
|
|
|
154
158
|
declare abstract class BaseProvider<TName extends ApiKind, TOwner = Owner> {
|
|
155
159
|
abstract readonly apiKind: TName;
|
|
160
|
+
abstract readonly method: HTTPMethods;
|
|
156
161
|
readonly baseUrl: string;
|
|
157
162
|
token: string;
|
|
158
163
|
readonly owner: TOwner;
|
|
@@ -171,6 +176,7 @@ declare abstract class BaseProvider<TName extends ApiKind, TOwner = Owner> {
|
|
|
171
176
|
declare class LLMProvider<TOwner extends LLMOwner> extends BaseProvider<"llm", LLMOwner> {
|
|
172
177
|
readonly apiKind = "llm";
|
|
173
178
|
readonly organization?: string;
|
|
179
|
+
readonly method = "POST";
|
|
174
180
|
constructor(baseUrl: string, token: string, owner: TOwner, organization?: string);
|
|
175
181
|
getRoute(): string[];
|
|
176
182
|
getHeaders(options: LLMOptions): Record<string, string>;
|
|
@@ -356,6 +362,7 @@ type UpstashResponse<TResult> = TResult & {
|
|
|
356
362
|
type Requester = {
|
|
357
363
|
request: <TResult = unknown>(request: UpstashRequest) => Promise<UpstashResponse<TResult>>;
|
|
358
364
|
requestStream: (request: UpstashRequest) => AsyncIterable<ChatCompletionChunk>;
|
|
365
|
+
headers?: Headers;
|
|
359
366
|
};
|
|
360
367
|
type RetryConfig = false | {
|
|
361
368
|
/**
|
|
@@ -1568,6 +1575,11 @@ type ClientConfig = {
|
|
|
1568
1575
|
* Configure how the client should retry requests.
|
|
1569
1576
|
*/
|
|
1570
1577
|
retry?: RetryConfig;
|
|
1578
|
+
/**
|
|
1579
|
+
* Global headers to send with each request.
|
|
1580
|
+
* These can be overridden by the headers in the request.
|
|
1581
|
+
*/
|
|
1582
|
+
headers?: HeadersInit;
|
|
1571
1583
|
};
|
|
1572
1584
|
type PublishBatchRequest<TBody = BodyInit> = PublishRequest<TBody> & {
|
|
1573
1585
|
queueName?: string;
|
package/cloudflare.d.mts
CHANGED
package/cloudflare.d.ts
CHANGED
package/cloudflare.js
CHANGED
|
@@ -237,6 +237,7 @@ var HttpClient = class {
|
|
|
237
237
|
authorization;
|
|
238
238
|
options;
|
|
239
239
|
retry;
|
|
240
|
+
headers;
|
|
240
241
|
constructor(config) {
|
|
241
242
|
this.baseUrl = config.baseUrl.replace(/\/$/, "");
|
|
242
243
|
this.authorization = config.authorization;
|
|
@@ -248,6 +249,7 @@ var HttpClient = class {
|
|
|
248
249
|
attempts: config.retry?.retries ?? 5,
|
|
249
250
|
backoff: config.retry?.backoff ?? ((retryCount) => Math.exp(retryCount) * 50)
|
|
250
251
|
};
|
|
252
|
+
this.headers = config.headers;
|
|
251
253
|
}
|
|
252
254
|
async request(request) {
|
|
253
255
|
const { response } = await this.requestWithBackoff(request);
|
|
@@ -600,6 +602,7 @@ var BaseProvider = class {
|
|
|
600
602
|
var LLMProvider = class extends BaseProvider {
|
|
601
603
|
apiKind = "llm";
|
|
602
604
|
organization;
|
|
605
|
+
method = "POST";
|
|
603
606
|
constructor(baseUrl, token, owner, organization) {
|
|
604
607
|
super(baseUrl, token, owner);
|
|
605
608
|
this.organization = organization;
|
|
@@ -660,15 +663,24 @@ var getProviderInfo = (api, upstashToken) => {
|
|
|
660
663
|
baseUrl: finalProvider.baseUrl,
|
|
661
664
|
route: finalProvider.getRoute(),
|
|
662
665
|
appendHeaders: finalProvider.getHeaders(parameters),
|
|
663
|
-
owner: finalProvider.owner
|
|
666
|
+
owner: finalProvider.owner,
|
|
667
|
+
method: finalProvider.method
|
|
664
668
|
};
|
|
665
669
|
return finalProvider.onFinish(providerInfo, parameters);
|
|
666
670
|
};
|
|
667
|
-
var
|
|
671
|
+
var safeJoinHeaders = (headers, record) => {
|
|
672
|
+
const joinedHeaders = new Headers(record);
|
|
673
|
+
for (const [header, value] of headers.entries()) {
|
|
674
|
+
joinedHeaders.set(header, value);
|
|
675
|
+
}
|
|
676
|
+
return joinedHeaders;
|
|
677
|
+
};
|
|
678
|
+
var processApi = (request, headers, upstashToken) => {
|
|
668
679
|
if (!request.api) {
|
|
680
|
+
request.headers = headers;
|
|
669
681
|
return request;
|
|
670
682
|
}
|
|
671
|
-
const { url, appendHeaders, owner } = getProviderInfo(request.api, upstashToken);
|
|
683
|
+
const { url, appendHeaders, owner, method } = getProviderInfo(request.api, upstashToken);
|
|
672
684
|
if (request.api.name === "llm") {
|
|
673
685
|
const callback = request.callback;
|
|
674
686
|
if (!callback) {
|
|
@@ -676,21 +688,15 @@ var processApi = (request, upstashToken) => {
|
|
|
676
688
|
}
|
|
677
689
|
return {
|
|
678
690
|
...request,
|
|
679
|
-
|
|
680
|
-
headers:
|
|
681
|
-
...request.headers,
|
|
682
|
-
...appendHeaders
|
|
683
|
-
}),
|
|
691
|
+
method: request.method ?? method,
|
|
692
|
+
headers: safeJoinHeaders(headers, appendHeaders),
|
|
684
693
|
...owner === "upstash" && !request.api.analytics ? { api: { name: "llm" }, url: void 0, callback } : { url, api: void 0 }
|
|
685
694
|
};
|
|
686
695
|
} else {
|
|
687
696
|
return {
|
|
688
697
|
...request,
|
|
689
|
-
|
|
690
|
-
headers:
|
|
691
|
-
...request.headers,
|
|
692
|
-
...appendHeaders
|
|
693
|
-
}),
|
|
698
|
+
method: request.method ?? method,
|
|
699
|
+
headers: safeJoinHeaders(headers, appendHeaders),
|
|
694
700
|
url,
|
|
695
701
|
api: void 0
|
|
696
702
|
};
|
|
@@ -738,6 +744,16 @@ function prefixHeaders(headers) {
|
|
|
738
744
|
}
|
|
739
745
|
return headers;
|
|
740
746
|
}
|
|
747
|
+
function wrapWithGlobalHeaders(headers, globalHeaders) {
|
|
748
|
+
if (!globalHeaders) {
|
|
749
|
+
return headers;
|
|
750
|
+
}
|
|
751
|
+
const finalHeaders = new Headers(globalHeaders);
|
|
752
|
+
headers.forEach((value, key) => {
|
|
753
|
+
finalHeaders.set(key, value);
|
|
754
|
+
});
|
|
755
|
+
return finalHeaders;
|
|
756
|
+
}
|
|
741
757
|
function processHeaders(request) {
|
|
742
758
|
const headers = prefixHeaders(new Headers(request.headers));
|
|
743
759
|
headers.set("Upstash-Method", request.method ?? "POST");
|
|
@@ -884,7 +900,10 @@ var Queue = class {
|
|
|
884
900
|
if (!this.queueName) {
|
|
885
901
|
throw new Error("Please provide a queue name to the Queue constructor");
|
|
886
902
|
}
|
|
887
|
-
const headers =
|
|
903
|
+
const headers = wrapWithGlobalHeaders(
|
|
904
|
+
processHeaders(request),
|
|
905
|
+
this.http.headers
|
|
906
|
+
);
|
|
888
907
|
const destination = getRequestPath(request);
|
|
889
908
|
const response = await this.http.request({
|
|
890
909
|
path: ["v2", "enqueue", this.queueName, destination],
|
|
@@ -900,13 +919,11 @@ var Queue = class {
|
|
|
900
919
|
async enqueueJSON(request) {
|
|
901
920
|
const headers = prefixHeaders(new Headers(request.headers));
|
|
902
921
|
headers.set("Content-Type", "application/json");
|
|
903
|
-
request.headers = headers;
|
|
904
922
|
const upstashToken = String(this.http.authorization).split("Bearer ")[1];
|
|
905
|
-
const nonApiRequest = processApi(request, upstashToken);
|
|
923
|
+
const nonApiRequest = processApi(request, headers, upstashToken);
|
|
906
924
|
const response = await this.enqueue({
|
|
907
925
|
...nonApiRequest,
|
|
908
|
-
body: JSON.stringify(nonApiRequest.body)
|
|
909
|
-
headers
|
|
926
|
+
body: JSON.stringify(nonApiRequest.body)
|
|
910
927
|
});
|
|
911
928
|
return response;
|
|
912
929
|
}
|
|
@@ -990,7 +1007,7 @@ var Schedules = class {
|
|
|
990
1007
|
}
|
|
991
1008
|
return await this.http.request({
|
|
992
1009
|
method: "POST",
|
|
993
|
-
headers,
|
|
1010
|
+
headers: wrapWithGlobalHeaders(headers, this.http.headers),
|
|
994
1011
|
path: ["v2", "schedules", request.destination],
|
|
995
1012
|
body: request.body
|
|
996
1013
|
});
|
|
@@ -1116,7 +1133,9 @@ var Client = class {
|
|
|
1116
1133
|
this.http = new HttpClient({
|
|
1117
1134
|
retry: config.retry,
|
|
1118
1135
|
baseUrl: config.baseUrl ? config.baseUrl.replace(/\/$/, "") : "https://qstash.upstash.io",
|
|
1119
|
-
authorization: `Bearer ${config.token}
|
|
1136
|
+
authorization: `Bearer ${config.token}`,
|
|
1137
|
+
//@ts-expect-error caused by undici and bunjs type overlap
|
|
1138
|
+
headers: prefixHeaders(new Headers(config.headers))
|
|
1120
1139
|
});
|
|
1121
1140
|
this.token = config.token;
|
|
1122
1141
|
}
|
|
@@ -1191,7 +1210,10 @@ var Client = class {
|
|
|
1191
1210
|
return new Chat(this.http, this.token);
|
|
1192
1211
|
}
|
|
1193
1212
|
async publish(request) {
|
|
1194
|
-
const headers =
|
|
1213
|
+
const headers = wrapWithGlobalHeaders(
|
|
1214
|
+
processHeaders(request),
|
|
1215
|
+
this.http.headers
|
|
1216
|
+
);
|
|
1195
1217
|
const response = await this.http.request({
|
|
1196
1218
|
path: ["v2", "publish", getRequestPath(request)],
|
|
1197
1219
|
body: request.body,
|
|
@@ -1207,9 +1229,8 @@ var Client = class {
|
|
|
1207
1229
|
async publishJSON(request) {
|
|
1208
1230
|
const headers = prefixHeaders(new Headers(request.headers));
|
|
1209
1231
|
headers.set("Content-Type", "application/json");
|
|
1210
|
-
request.headers = headers;
|
|
1211
1232
|
const upstashToken = String(this.http.authorization).split("Bearer ")[1];
|
|
1212
|
-
const nonApiRequest = processApi(request, upstashToken);
|
|
1233
|
+
const nonApiRequest = processApi(request, headers, upstashToken);
|
|
1213
1234
|
const response = await this.publish({
|
|
1214
1235
|
...nonApiRequest,
|
|
1215
1236
|
body: JSON.stringify(nonApiRequest.body)
|
|
@@ -1222,7 +1243,7 @@ var Client = class {
|
|
|
1222
1243
|
async batch(request) {
|
|
1223
1244
|
const messages = [];
|
|
1224
1245
|
for (const message of request) {
|
|
1225
|
-
const headers = processHeaders(message);
|
|
1246
|
+
const headers = wrapWithGlobalHeaders(processHeaders(message), this.http.headers);
|
|
1226
1247
|
const headerEntries = Object.fromEntries(headers.entries());
|
|
1227
1248
|
messages.push({
|
|
1228
1249
|
destination: getRequestPath(message),
|
|
@@ -1250,9 +1271,8 @@ var Client = class {
|
|
|
1250
1271
|
if ("body" in message) {
|
|
1251
1272
|
message.body = JSON.stringify(message.body);
|
|
1252
1273
|
}
|
|
1253
|
-
message.headers = new Headers(message.headers);
|
|
1254
1274
|
const upstashToken = String(this.http.authorization).split("Bearer ")[1];
|
|
1255
|
-
const nonApiMessage = processApi(message, upstashToken);
|
|
1275
|
+
const nonApiMessage = processApi(message, new Headers(message.headers), upstashToken);
|
|
1256
1276
|
nonApiMessage.headers.set("Content-Type", "application/json");
|
|
1257
1277
|
return nonApiMessage;
|
|
1258
1278
|
});
|
package/cloudflare.mjs
CHANGED
package/h3.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as h3 from 'h3';
|
|
2
2
|
import { H3Event } from 'h3';
|
|
3
|
-
import { a3 as RouteFunction, a4 as WorkflowServeOptions } from './client-
|
|
3
|
+
import { a3 as RouteFunction, a4 as WorkflowServeOptions } from './client-CdYtp0E1.mjs';
|
|
4
4
|
import 'neverthrow';
|
|
5
5
|
|
|
6
6
|
type VerifySignatureConfig = {
|
package/h3.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as h3 from 'h3';
|
|
2
2
|
import { H3Event } from 'h3';
|
|
3
|
-
import { a3 as RouteFunction, a4 as WorkflowServeOptions } from './client-
|
|
3
|
+
import { a3 as RouteFunction, a4 as WorkflowServeOptions } from './client-CdYtp0E1.js';
|
|
4
4
|
import 'neverthrow';
|
|
5
5
|
|
|
6
6
|
type VerifySignatureConfig = {
|