glitch-javascript-sdk 1.4.4 → 1.4.6
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/dist/cjs/index.js +11 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +11 -7
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
- package/src/util/Requests.ts +30 -23
package/package.json
CHANGED
package/src/util/Requests.ts
CHANGED
|
@@ -150,35 +150,34 @@ class Requests {
|
|
|
150
150
|
.join('&');
|
|
151
151
|
url = `${url}?${queryString}`;
|
|
152
152
|
}
|
|
153
|
-
|
|
153
|
+
|
|
154
154
|
// Prepare FormData
|
|
155
155
|
const formData = new FormData();
|
|
156
156
|
formData.append(filename, file);
|
|
157
|
-
|
|
157
|
+
|
|
158
158
|
if (Requests.community_id) {
|
|
159
159
|
data = {
|
|
160
160
|
...data,
|
|
161
161
|
communities: [Requests.community_id],
|
|
162
162
|
};
|
|
163
163
|
}
|
|
164
|
-
|
|
164
|
+
|
|
165
165
|
for (let key in data) {
|
|
166
166
|
formData.append(key, data[key]);
|
|
167
167
|
}
|
|
168
|
-
|
|
168
|
+
|
|
169
169
|
// Prepare headers
|
|
170
170
|
let headers: { [key: string]: string } = {
|
|
171
171
|
'Content-Type': 'multipart/form-data',
|
|
172
172
|
};
|
|
173
|
-
|
|
173
|
+
|
|
174
174
|
if (Requests.authToken) {
|
|
175
175
|
headers['Authorization'] = `Bearer ${Requests.authToken}`;
|
|
176
176
|
}
|
|
177
|
-
|
|
178
|
-
//
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
177
|
+
|
|
178
|
+
// Construct the full URL properly
|
|
179
|
+
const uri = new URL(url, Requests.baseUrl).href;
|
|
180
|
+
|
|
182
181
|
// Make the request
|
|
183
182
|
return axios({
|
|
184
183
|
method: 'POST',
|
|
@@ -188,7 +187,7 @@ class Requests {
|
|
|
188
187
|
onUploadProgress,
|
|
189
188
|
});
|
|
190
189
|
}
|
|
191
|
-
|
|
190
|
+
|
|
192
191
|
public static uploadBlob<T>(
|
|
193
192
|
url: string,
|
|
194
193
|
filename: string,
|
|
@@ -197,6 +196,11 @@ class Requests {
|
|
|
197
196
|
params?: Record<string, any>,
|
|
198
197
|
onUploadProgress?: (progressEvent: AxiosProgressEvent) => void
|
|
199
198
|
): AxiosPromise<Response<T>> {
|
|
199
|
+
|
|
200
|
+
if (!url.startsWith('/api')) {
|
|
201
|
+
url = `/api${url}`;
|
|
202
|
+
}
|
|
203
|
+
|
|
200
204
|
// Process URL and params
|
|
201
205
|
if (params && Object.keys(params).length > 0) {
|
|
202
206
|
const queryString = Object.entries(params)
|
|
@@ -204,35 +208,34 @@ class Requests {
|
|
|
204
208
|
.join('&');
|
|
205
209
|
url = `${url}?${queryString}`;
|
|
206
210
|
}
|
|
207
|
-
|
|
211
|
+
|
|
208
212
|
// Prepare FormData
|
|
209
213
|
const formData = new FormData();
|
|
210
214
|
formData.append(filename, blob);
|
|
211
|
-
|
|
215
|
+
|
|
212
216
|
if (Requests.community_id) {
|
|
213
217
|
data = {
|
|
214
218
|
...data,
|
|
215
219
|
communities: [Requests.community_id],
|
|
216
220
|
};
|
|
217
221
|
}
|
|
218
|
-
|
|
222
|
+
|
|
219
223
|
for (let key in data) {
|
|
220
224
|
formData.append(key, data[key]);
|
|
221
225
|
}
|
|
222
|
-
|
|
226
|
+
|
|
223
227
|
// Prepare headers
|
|
224
228
|
let headers: { [key: string]: string } = {
|
|
225
229
|
'Content-Type': 'multipart/form-data',
|
|
226
230
|
};
|
|
227
|
-
|
|
231
|
+
|
|
228
232
|
if (Requests.authToken) {
|
|
229
233
|
headers['Authorization'] = `Bearer ${Requests.authToken}`;
|
|
230
234
|
}
|
|
231
|
-
|
|
232
|
-
//
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
235
|
+
|
|
236
|
+
// Construct the full URL properly
|
|
237
|
+
const uri = new URL(url, Requests.baseUrl).href;
|
|
238
|
+
|
|
236
239
|
// Make the request
|
|
237
240
|
return axios({
|
|
238
241
|
method: 'POST',
|
|
@@ -242,7 +245,7 @@ class Requests {
|
|
|
242
245
|
onUploadProgress,
|
|
243
246
|
});
|
|
244
247
|
}
|
|
245
|
-
|
|
248
|
+
|
|
246
249
|
|
|
247
250
|
// Method adapted for browser environments
|
|
248
251
|
|
|
@@ -254,6 +257,10 @@ class Requests {
|
|
|
254
257
|
chunkSize?: number, // Default chunk size of 1MB
|
|
255
258
|
): Promise<void> {
|
|
256
259
|
|
|
260
|
+
if (!uploadUrl.startsWith('/api')) {
|
|
261
|
+
uploadUrl = `/api${uploadUrl}`;
|
|
262
|
+
}
|
|
263
|
+
|
|
257
264
|
if (!chunkSize) {
|
|
258
265
|
chunkSize = 1024 * 1024
|
|
259
266
|
}
|
|
@@ -286,7 +293,7 @@ class Requests {
|
|
|
286
293
|
}
|
|
287
294
|
|
|
288
295
|
// Construct the full URL if necessary or use a method to determine the base URL
|
|
289
|
-
const fullUploadUrl = `${uploadUrl}`;
|
|
296
|
+
const fullUploadUrl = `${Requests.baseUrl}${uploadUrl}`;
|
|
290
297
|
|
|
291
298
|
// Make sure the authorization token is included if required
|
|
292
299
|
const headers: { [key: string]: string } = {};
|