@edgestore/react 0.7.0-canary.0 → 0.7.0-canary.2

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.
@@ -164,16 +164,22 @@ async function uploadFileInner(props) {
164
164
  onProgressChange?.(progress);
165
165
  }
166
166
  });
167
+ request.addEventListener('load', ()=>{
168
+ // `error` event is not fired for HTTP errors (e.g. 403).
169
+ // So we must check the status code here.
170
+ if (request.status >= 200 && request.status < 300) {
171
+ // Return the ETag header (needed to complete multipart upload)
172
+ resolve(request.getResponseHeader('ETag'));
173
+ return;
174
+ }
175
+ reject(new EdgeStoreClientError(`Error uploading file (HTTP ${request.status})`));
176
+ });
167
177
  request.addEventListener('error', ()=>{
168
178
  reject(new Error('Error uploading file'));
169
179
  });
170
180
  request.addEventListener('abort', ()=>{
171
181
  reject(new uploadAbortedError.UploadAbortedError('File upload aborted'));
172
182
  });
173
- request.addEventListener('loadend', ()=>{
174
- // Return the ETag header (needed to complete multipart upload)
175
- resolve(request.getResponseHeader('ETag'));
176
- });
177
183
  if (signal) {
178
184
  signal.addEventListener('abort', ()=>{
179
185
  request.abort();
@@ -162,16 +162,22 @@ async function uploadFileInner(props) {
162
162
  onProgressChange?.(progress);
163
163
  }
164
164
  });
165
+ request.addEventListener('load', ()=>{
166
+ // `error` event is not fired for HTTP errors (e.g. 403).
167
+ // So we must check the status code here.
168
+ if (request.status >= 200 && request.status < 300) {
169
+ // Return the ETag header (needed to complete multipart upload)
170
+ resolve(request.getResponseHeader('ETag'));
171
+ return;
172
+ }
173
+ reject(new EdgeStoreClientError(`Error uploading file (HTTP ${request.status})`));
174
+ });
165
175
  request.addEventListener('error', ()=>{
166
176
  reject(new Error('Error uploading file'));
167
177
  });
168
178
  request.addEventListener('abort', ()=>{
169
179
  reject(new UploadAbortedError('File upload aborted'));
170
180
  });
171
- request.addEventListener('loadend', ()=>{
172
- // Return the ETag header (needed to complete multipart upload)
173
- resolve(request.getResponseHeader('ETag'));
174
- });
175
181
  if (signal) {
176
182
  signal.addEventListener('abort', ()=>{
177
183
  request.abort();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edgestore/react",
3
- "version": "0.7.0-canary.0",
3
+ "version": "0.7.0-canary.2",
4
4
  "description": "Upload files with ease from React/Next.js",
5
5
  "homepage": "https://edgestore.dev",
6
6
  "license": "MIT",
@@ -66,7 +66,7 @@
66
66
  "dependencies": {
67
67
  "@aws-sdk/client-s3": "^3.294.0",
68
68
  "@aws-sdk/s3-request-presigner": "^3.294.0",
69
- "@edgestore/shared": "0.7.0-canary.0",
69
+ "@edgestore/shared": "0.7.0-canary.2",
70
70
  "@panva/hkdf": "^1.0.4",
71
71
  "cookie": "^0.7.0",
72
72
  "jose": "^4.13.1",
@@ -309,16 +309,26 @@ async function uploadFileInner(props: {
309
309
  onProgressChange?.(progress);
310
310
  }
311
311
  });
312
+ request.addEventListener('load', () => {
313
+ // `error` event is not fired for HTTP errors (e.g. 403).
314
+ // So we must check the status code here.
315
+ if (request.status >= 200 && request.status < 300) {
316
+ // Return the ETag header (needed to complete multipart upload)
317
+ resolve(request.getResponseHeader('ETag'));
318
+ return;
319
+ }
320
+ reject(
321
+ new EdgeStoreClientError(
322
+ `Error uploading file (HTTP ${request.status})`,
323
+ ),
324
+ );
325
+ });
312
326
  request.addEventListener('error', () => {
313
327
  reject(new Error('Error uploading file'));
314
328
  });
315
329
  request.addEventListener('abort', () => {
316
330
  reject(new UploadAbortedError('File upload aborted'));
317
331
  });
318
- request.addEventListener('loadend', () => {
319
- // Return the ETag header (needed to complete multipart upload)
320
- resolve(request.getResponseHeader('ETag'));
321
- });
322
332
 
323
333
  if (signal) {
324
334
  signal.addEventListener('abort', () => {