@edgestore/server 0.1.2 → 0.1.3-alpha.1
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/adapters/next/app/index.d.ts.map +1 -1
- package/dist/adapters/next/app/index.js +19 -10
- package/dist/adapters/next/app/index.mjs +19 -10
- package/dist/adapters/next/pages/index.d.ts.map +1 -1
- package/dist/adapters/next/pages/index.js +5 -7
- package/dist/adapters/next/pages/index.mjs +5 -7
- package/dist/adapters/shared.d.ts +2 -2
- package/dist/adapters/shared.d.ts.map +1 -1
- package/dist/{shared-7fc08e14.mjs → shared-4514686d.mjs} +20 -4
- package/dist/{shared-a86ccc68.js → shared-88a82c56.js} +21 -4
- package/dist/{shared-a5b84d0b.js → shared-ddfc7031.js} +20 -4
- package/package.json +2 -2
- package/src/adapters/next/app/index.ts +15 -6
- package/src/adapters/next/pages/index.ts +16 -14
- package/src/adapters/shared.ts +22 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/next/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAK7E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAenD,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,WAAW,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,IAAI,IAAI,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACzD;IACE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;CAC/B,GACD;IACE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,aAAa,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAEN,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAEhD,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/next/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAK7E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAenD,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,WAAW,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,IAAI,IAAI,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACzD;IACE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;CAC/B,GACD;IACE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,aAAa,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAEN,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAEhD,WAAW,uBAyI/B"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var shared = require('../../../shared-
|
|
5
|
+
var shared = require('../../../shared-ddfc7031.js');
|
|
6
6
|
var providers_edgestore_index = require('../../../providers/edgestore/index.js');
|
|
7
7
|
require('@panva/hkdf');
|
|
8
8
|
require('cookie');
|
|
@@ -24,16 +24,19 @@ function createEdgeStoreNextHandler(config) {
|
|
|
24
24
|
provider,
|
|
25
25
|
router: config.router
|
|
26
26
|
});
|
|
27
|
-
|
|
27
|
+
const res = new Response(JSON.stringify({
|
|
28
28
|
token,
|
|
29
29
|
baseUrl
|
|
30
30
|
}), {
|
|
31
31
|
status: 200,
|
|
32
32
|
headers: {
|
|
33
|
-
'Content-Type': 'application/json'
|
|
34
|
-
'Set-Cookie': newCookies.join('; ')
|
|
33
|
+
'Content-Type': 'application/json'
|
|
35
34
|
}
|
|
36
35
|
});
|
|
36
|
+
for (const cookie of newCookies){
|
|
37
|
+
res.headers.append('Set-Cookie', cookie);
|
|
38
|
+
}
|
|
39
|
+
return res;
|
|
37
40
|
} else if (req.nextUrl.pathname === '/api/edgestore/request-upload') {
|
|
38
41
|
const res = await shared.requestUpload({
|
|
39
42
|
provider,
|
|
@@ -71,24 +74,30 @@ function createEdgeStoreNextHandler(config) {
|
|
|
71
74
|
status: 200
|
|
72
75
|
});
|
|
73
76
|
} else if (req.nextUrl.pathname === '/api/edgestore/confirm-upload') {
|
|
74
|
-
await shared.confirmUpload({
|
|
77
|
+
const res = await shared.confirmUpload({
|
|
75
78
|
provider,
|
|
76
79
|
router: config.router,
|
|
77
80
|
body: await req.json(),
|
|
78
81
|
ctxToken: req.cookies.get('edgestore-ctx')?.value
|
|
79
82
|
});
|
|
80
|
-
return new Response(
|
|
81
|
-
status: 200
|
|
83
|
+
return new Response(JSON.stringify(res), {
|
|
84
|
+
status: 200,
|
|
85
|
+
headers: {
|
|
86
|
+
'Content-Type': 'application/json'
|
|
87
|
+
}
|
|
82
88
|
});
|
|
83
89
|
} else if (req.nextUrl.pathname === '/api/edgestore/delete-file') {
|
|
84
|
-
await shared.deleteFile({
|
|
90
|
+
const res = await shared.deleteFile({
|
|
85
91
|
provider,
|
|
86
92
|
router: config.router,
|
|
87
93
|
body: await req.json(),
|
|
88
94
|
ctxToken: req.cookies.get('edgestore-ctx')?.value
|
|
89
95
|
});
|
|
90
|
-
return new Response(
|
|
91
|
-
status: 200
|
|
96
|
+
return new Response(JSON.stringify(res), {
|
|
97
|
+
status: 200,
|
|
98
|
+
headers: {
|
|
99
|
+
'Content-Type': 'application/json'
|
|
100
|
+
}
|
|
92
101
|
});
|
|
93
102
|
} else if (req.nextUrl.pathname === '/api/edgestore/proxy-file') {
|
|
94
103
|
const url = req.nextUrl.searchParams.get('url');
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as init, r as requestUpload, a as requestUploadParts, c as completeMultipartUpload, b as confirmUpload, d as deleteFile, E as EdgeStoreError, e as EDGE_STORE_ERROR_CODES } from '../../../shared-
|
|
1
|
+
import { i as init, r as requestUpload, a as requestUploadParts, c as completeMultipartUpload, b as confirmUpload, d as deleteFile, E as EdgeStoreError, e as EDGE_STORE_ERROR_CODES } from '../../../shared-4514686d.mjs';
|
|
2
2
|
import { EdgeStoreProvider } from '../../../providers/edgestore/index.mjs';
|
|
3
3
|
import '@panva/hkdf';
|
|
4
4
|
import 'cookie';
|
|
@@ -20,16 +20,19 @@ function createEdgeStoreNextHandler(config) {
|
|
|
20
20
|
provider,
|
|
21
21
|
router: config.router
|
|
22
22
|
});
|
|
23
|
-
|
|
23
|
+
const res = new Response(JSON.stringify({
|
|
24
24
|
token,
|
|
25
25
|
baseUrl
|
|
26
26
|
}), {
|
|
27
27
|
status: 200,
|
|
28
28
|
headers: {
|
|
29
|
-
'Content-Type': 'application/json'
|
|
30
|
-
'Set-Cookie': newCookies.join('; ')
|
|
29
|
+
'Content-Type': 'application/json'
|
|
31
30
|
}
|
|
32
31
|
});
|
|
32
|
+
for (const cookie of newCookies){
|
|
33
|
+
res.headers.append('Set-Cookie', cookie);
|
|
34
|
+
}
|
|
35
|
+
return res;
|
|
33
36
|
} else if (req.nextUrl.pathname === '/api/edgestore/request-upload') {
|
|
34
37
|
const res = await requestUpload({
|
|
35
38
|
provider,
|
|
@@ -67,24 +70,30 @@ function createEdgeStoreNextHandler(config) {
|
|
|
67
70
|
status: 200
|
|
68
71
|
});
|
|
69
72
|
} else if (req.nextUrl.pathname === '/api/edgestore/confirm-upload') {
|
|
70
|
-
await confirmUpload({
|
|
73
|
+
const res = await confirmUpload({
|
|
71
74
|
provider,
|
|
72
75
|
router: config.router,
|
|
73
76
|
body: await req.json(),
|
|
74
77
|
ctxToken: req.cookies.get('edgestore-ctx')?.value
|
|
75
78
|
});
|
|
76
|
-
return new Response(
|
|
77
|
-
status: 200
|
|
79
|
+
return new Response(JSON.stringify(res), {
|
|
80
|
+
status: 200,
|
|
81
|
+
headers: {
|
|
82
|
+
'Content-Type': 'application/json'
|
|
83
|
+
}
|
|
78
84
|
});
|
|
79
85
|
} else if (req.nextUrl.pathname === '/api/edgestore/delete-file') {
|
|
80
|
-
await deleteFile({
|
|
86
|
+
const res = await deleteFile({
|
|
81
87
|
provider,
|
|
82
88
|
router: config.router,
|
|
83
89
|
body: await req.json(),
|
|
84
90
|
ctxToken: req.cookies.get('edgestore-ctx')?.value
|
|
85
91
|
});
|
|
86
|
-
return new Response(
|
|
87
|
-
status: 200
|
|
92
|
+
return new Response(JSON.stringify(res), {
|
|
93
|
+
status: 200,
|
|
94
|
+
headers: {
|
|
95
|
+
'Content-Type': 'application/json'
|
|
96
|
+
}
|
|
88
97
|
});
|
|
89
98
|
} else if (req.nextUrl.pathname === '/api/edgestore/proxy-file') {
|
|
90
99
|
const url = req.nextUrl.searchParams.get('url');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/next/pages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAK7E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAenD,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,cAAc,CAAC;IACpB,GAAG,EAAE,eAAe,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,IAAI,IAAI,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACzD;IACE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;CAC/B,GACD;IACE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,aAAa,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAEN,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAEhD,cAAc,OAAO,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/next/pages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAK7E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAenD,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,cAAc,CAAC;IACpB,GAAG,EAAE,eAAe,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,IAAI,IAAI,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACzD;IACE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;CAC/B,GACD;IACE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,aAAa,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAEN,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAEhD,cAAc,OAAO,eAAe,mBA4FxD"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var shared = require('../../../shared-
|
|
5
|
+
var shared = require('../../../shared-ddfc7031.js');
|
|
6
6
|
var providers_edgestore_index = require('../../../providers/edgestore/index.js');
|
|
7
7
|
require('@panva/hkdf');
|
|
8
8
|
require('cookie');
|
|
@@ -53,21 +53,19 @@ function createEdgeStoreNextHandler(config) {
|
|
|
53
53
|
});
|
|
54
54
|
res.status(200).end();
|
|
55
55
|
} else if (req.url === '/api/edgestore/confirm-upload') {
|
|
56
|
-
await shared.confirmUpload({
|
|
56
|
+
res.json(await shared.confirmUpload({
|
|
57
57
|
provider,
|
|
58
58
|
router: config.router,
|
|
59
59
|
body: req.body,
|
|
60
60
|
ctxToken: req.cookies['edgestore-ctx']
|
|
61
|
-
});
|
|
62
|
-
res.status(200).end();
|
|
61
|
+
}));
|
|
63
62
|
} else if (req.url === '/api/edgestore/delete-file') {
|
|
64
|
-
await shared.deleteFile({
|
|
63
|
+
res.json(await shared.deleteFile({
|
|
65
64
|
provider,
|
|
66
65
|
router: config.router,
|
|
67
66
|
body: req.body,
|
|
68
67
|
ctxToken: req.cookies['edgestore-ctx']
|
|
69
|
-
});
|
|
70
|
-
res.status(200).end();
|
|
68
|
+
}));
|
|
71
69
|
} else if (req.url?.startsWith('/api/edgestore/proxy-file')) {
|
|
72
70
|
const { url } = req.query;
|
|
73
71
|
if (typeof url === 'string') {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as init, r as requestUpload, a as requestUploadParts, c as completeMultipartUpload, b as confirmUpload, d as deleteFile, E as EdgeStoreError, e as EDGE_STORE_ERROR_CODES } from '../../../shared-
|
|
1
|
+
import { i as init, r as requestUpload, a as requestUploadParts, c as completeMultipartUpload, b as confirmUpload, d as deleteFile, E as EdgeStoreError, e as EDGE_STORE_ERROR_CODES } from '../../../shared-4514686d.mjs';
|
|
2
2
|
import { EdgeStoreProvider } from '../../../providers/edgestore/index.mjs';
|
|
3
3
|
import '@panva/hkdf';
|
|
4
4
|
import 'cookie';
|
|
@@ -49,21 +49,19 @@ function createEdgeStoreNextHandler(config) {
|
|
|
49
49
|
});
|
|
50
50
|
res.status(200).end();
|
|
51
51
|
} else if (req.url === '/api/edgestore/confirm-upload') {
|
|
52
|
-
await confirmUpload({
|
|
52
|
+
res.json(await confirmUpload({
|
|
53
53
|
provider,
|
|
54
54
|
router: config.router,
|
|
55
55
|
body: req.body,
|
|
56
56
|
ctxToken: req.cookies['edgestore-ctx']
|
|
57
|
-
});
|
|
58
|
-
res.status(200).end();
|
|
57
|
+
}));
|
|
59
58
|
} else if (req.url === '/api/edgestore/delete-file') {
|
|
60
|
-
await deleteFile({
|
|
59
|
+
res.json(await deleteFile({
|
|
61
60
|
provider,
|
|
62
61
|
router: config.router,
|
|
63
62
|
body: req.body,
|
|
64
63
|
ctxToken: req.cookies['edgestore-ctx']
|
|
65
|
-
});
|
|
66
|
-
res.status(200).end();
|
|
64
|
+
}));
|
|
67
65
|
} else if (req.url?.startsWith('/api/edgestore/proxy-file')) {
|
|
68
66
|
const { url } = req.query;
|
|
69
67
|
if (typeof url === 'string') {
|
|
@@ -95,7 +95,7 @@ export declare function confirmUpload<TCtx>(params: {
|
|
|
95
95
|
router: EdgeStoreRouter<TCtx>;
|
|
96
96
|
ctxToken: string | undefined;
|
|
97
97
|
body: ConfirmUploadBody;
|
|
98
|
-
}): Promise<
|
|
98
|
+
}): Promise<import("../providers/types").ConfirmUploadRes>;
|
|
99
99
|
export type DeleteFileBody = {
|
|
100
100
|
bucketName: string;
|
|
101
101
|
url: string;
|
|
@@ -105,7 +105,7 @@ export declare function deleteFile<TCtx>(params: {
|
|
|
105
105
|
router: EdgeStoreRouter<TCtx>;
|
|
106
106
|
ctxToken: string | undefined;
|
|
107
107
|
body: DeleteFileBody;
|
|
108
|
-
}): Promise<
|
|
108
|
+
}): Promise<import("../providers/types").DeleteFileRes>;
|
|
109
109
|
export type InitRes = Awaited<ReturnType<typeof init>>;
|
|
110
110
|
export type RequestUploadRes = Awaited<ReturnType<typeof requestUpload>>;
|
|
111
111
|
export type RequestUploadPartsRes = Awaited<ReturnType<typeof requestUploadParts>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/adapters/shared.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAMnD,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,GAAG,EAAE,IAAI,CAAC;CACX;;;;GA4BA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE;IAChD,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,iBAAiB,CAAC;CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwGA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE;IACrD,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,wBAAwB,CAAC;CAChC,+DAsBA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;CACL,CAAC;AAEF,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE;IAC1D,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,2BAA2B,CAAC;CACnC,oEAuBA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE;IAChD,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,iBAAiB,CAAC;CACzB,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/adapters/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -207,9 +207,9 @@ async function confirmUpload(params) {
|
|
|
207
207
|
if (!bucket) {
|
|
208
208
|
throw new Error(`Bucket ${bucketName} not found`);
|
|
209
209
|
}
|
|
210
|
-
await provider.confirmUpload({
|
|
210
|
+
return await provider.confirmUpload({
|
|
211
211
|
bucket,
|
|
212
|
-
url
|
|
212
|
+
url: unproxyUrl(url)
|
|
213
213
|
});
|
|
214
214
|
}
|
|
215
215
|
async function deleteFile(params) {
|
|
@@ -238,9 +238,9 @@ async function deleteFile(params) {
|
|
|
238
238
|
if (!canDelete) {
|
|
239
239
|
throw new Error('Delete not allowed');
|
|
240
240
|
}
|
|
241
|
-
await provider.deleteFile({
|
|
241
|
+
return await provider.deleteFile({
|
|
242
242
|
bucket,
|
|
243
|
-
url
|
|
243
|
+
url: unproxyUrl(url)
|
|
244
244
|
});
|
|
245
245
|
}
|
|
246
246
|
async function encryptJWT(ctx) {
|
|
@@ -297,5 +297,21 @@ async function getContext(token) {
|
|
|
297
297
|
}
|
|
298
298
|
return await decryptJWT(token);
|
|
299
299
|
}
|
|
300
|
+
/**
|
|
301
|
+
* On local development, protected files are proxied to the server,
|
|
302
|
+
* which changes the original URL.
|
|
303
|
+
*
|
|
304
|
+
* This function is used to get the original URL,
|
|
305
|
+
* so that we can delete or confirm the upload.
|
|
306
|
+
*/ function unproxyUrl(url) {
|
|
307
|
+
if (process.env.NODE_ENV === 'development' && url.startsWith('http://')) {
|
|
308
|
+
// get the url param from the query string
|
|
309
|
+
const urlParam = new URL(url).searchParams.get('url');
|
|
310
|
+
if (urlParam) {
|
|
311
|
+
return urlParam;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
return url;
|
|
315
|
+
}
|
|
300
316
|
|
|
301
317
|
export { EdgeStoreError as E, requestUploadParts as a, confirmUpload as b, completeMultipartUpload as c, deleteFile as d, EDGE_STORE_ERROR_CODES as e, init as i, requestUpload as r };
|
|
@@ -199,9 +199,9 @@ async function confirmUpload(params) {
|
|
|
199
199
|
if (!bucket) {
|
|
200
200
|
throw new Error(`Bucket ${bucketName} not found`);
|
|
201
201
|
}
|
|
202
|
-
await provider.confirmUpload({
|
|
202
|
+
return await provider.confirmUpload({
|
|
203
203
|
bucket,
|
|
204
|
-
url,
|
|
204
|
+
url: unproxyUrl(url),
|
|
205
205
|
});
|
|
206
206
|
}
|
|
207
207
|
async function deleteFile(params) {
|
|
@@ -230,9 +230,9 @@ async function deleteFile(params) {
|
|
|
230
230
|
if (!canDelete) {
|
|
231
231
|
throw new Error('Delete not allowed');
|
|
232
232
|
}
|
|
233
|
-
await provider.deleteFile({
|
|
233
|
+
return await provider.deleteFile({
|
|
234
234
|
bucket,
|
|
235
|
-
url,
|
|
235
|
+
url: unproxyUrl(url),
|
|
236
236
|
});
|
|
237
237
|
}
|
|
238
238
|
async function encryptJWT(ctx) {
|
|
@@ -293,5 +293,22 @@ async function getContext(token) {
|
|
|
293
293
|
}
|
|
294
294
|
return await decryptJWT(token);
|
|
295
295
|
}
|
|
296
|
+
/**
|
|
297
|
+
* On local development, protected files are proxied to the server,
|
|
298
|
+
* which changes the original URL.
|
|
299
|
+
*
|
|
300
|
+
* This function is used to get the original URL,
|
|
301
|
+
* so that we can delete or confirm the upload.
|
|
302
|
+
*/
|
|
303
|
+
function unproxyUrl(url) {
|
|
304
|
+
if (process.env.NODE_ENV === 'development' && url.startsWith('http://')) {
|
|
305
|
+
// get the url param from the query string
|
|
306
|
+
const urlParam = new URL(url).searchParams.get('url');
|
|
307
|
+
if (urlParam) {
|
|
308
|
+
return urlParam;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
return url;
|
|
312
|
+
}
|
|
296
313
|
|
|
297
314
|
export { EdgeStoreError as E, requestUploadParts as a, confirmUpload as b, completeMultipartUpload as c, deleteFile as d, EDGE_STORE_ERROR_CODES as e, init as i, requestUpload as r };
|
|
@@ -209,9 +209,9 @@ async function confirmUpload(params) {
|
|
|
209
209
|
if (!bucket) {
|
|
210
210
|
throw new Error(`Bucket ${bucketName} not found`);
|
|
211
211
|
}
|
|
212
|
-
await provider.confirmUpload({
|
|
212
|
+
return await provider.confirmUpload({
|
|
213
213
|
bucket,
|
|
214
|
-
url
|
|
214
|
+
url: unproxyUrl(url)
|
|
215
215
|
});
|
|
216
216
|
}
|
|
217
217
|
async function deleteFile(params) {
|
|
@@ -240,9 +240,9 @@ async function deleteFile(params) {
|
|
|
240
240
|
if (!canDelete) {
|
|
241
241
|
throw new Error('Delete not allowed');
|
|
242
242
|
}
|
|
243
|
-
await provider.deleteFile({
|
|
243
|
+
return await provider.deleteFile({
|
|
244
244
|
bucket,
|
|
245
|
-
url
|
|
245
|
+
url: unproxyUrl(url)
|
|
246
246
|
});
|
|
247
247
|
}
|
|
248
248
|
async function encryptJWT(ctx) {
|
|
@@ -299,6 +299,22 @@ async function getContext(token) {
|
|
|
299
299
|
}
|
|
300
300
|
return await decryptJWT(token);
|
|
301
301
|
}
|
|
302
|
+
/**
|
|
303
|
+
* On local development, protected files are proxied to the server,
|
|
304
|
+
* which changes the original URL.
|
|
305
|
+
*
|
|
306
|
+
* This function is used to get the original URL,
|
|
307
|
+
* so that we can delete or confirm the upload.
|
|
308
|
+
*/ function unproxyUrl(url) {
|
|
309
|
+
if (process.env.NODE_ENV === 'development' && url.startsWith('http://')) {
|
|
310
|
+
// get the url param from the query string
|
|
311
|
+
const urlParam = new URL(url).searchParams.get('url');
|
|
312
|
+
if (urlParam) {
|
|
313
|
+
return urlParam;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
return url;
|
|
317
|
+
}
|
|
302
318
|
|
|
303
319
|
exports.EDGE_STORE_ERROR_CODES = EDGE_STORE_ERROR_CODES;
|
|
304
320
|
exports.EdgeStoreError = EdgeStoreError;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@edgestore/server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3-alpha.1",
|
|
4
4
|
"description": "Upload files with ease from React/Next.js",
|
|
5
5
|
"homepage": "https://edgestore.dev",
|
|
6
6
|
"repository": "https://github.com/edgestorejs/edgestore.git",
|
|
@@ -104,5 +104,5 @@
|
|
|
104
104
|
"typescript": "^5.1.6",
|
|
105
105
|
"zod": "^3.21.4"
|
|
106
106
|
},
|
|
107
|
-
"gitHead": "
|
|
107
|
+
"gitHead": "d83c9799cd38def8b37f6c752332c568c37cf329"
|
|
108
108
|
}
|
|
@@ -49,7 +49,7 @@ export function createEdgeStoreNextHandler<TCtx>(config: Config<TCtx>) {
|
|
|
49
49
|
provider,
|
|
50
50
|
router: config.router,
|
|
51
51
|
});
|
|
52
|
-
|
|
52
|
+
const res = new Response(
|
|
53
53
|
JSON.stringify({
|
|
54
54
|
token,
|
|
55
55
|
baseUrl,
|
|
@@ -58,10 +58,13 @@ export function createEdgeStoreNextHandler<TCtx>(config: Config<TCtx>) {
|
|
|
58
58
|
status: 200,
|
|
59
59
|
headers: {
|
|
60
60
|
'Content-Type': 'application/json',
|
|
61
|
-
'Set-Cookie': newCookies.join('; '),
|
|
62
61
|
},
|
|
63
62
|
},
|
|
64
63
|
);
|
|
64
|
+
for (const cookie of newCookies) {
|
|
65
|
+
res.headers.append('Set-Cookie', cookie);
|
|
66
|
+
}
|
|
67
|
+
return res;
|
|
65
68
|
} else if (req.nextUrl.pathname === '/api/edgestore/request-upload') {
|
|
66
69
|
const res = await requestUpload({
|
|
67
70
|
provider,
|
|
@@ -103,24 +106,30 @@ export function createEdgeStoreNextHandler<TCtx>(config: Config<TCtx>) {
|
|
|
103
106
|
status: 200,
|
|
104
107
|
});
|
|
105
108
|
} else if (req.nextUrl.pathname === '/api/edgestore/confirm-upload') {
|
|
106
|
-
await confirmUpload({
|
|
109
|
+
const res = await confirmUpload({
|
|
107
110
|
provider,
|
|
108
111
|
router: config.router,
|
|
109
112
|
body: (await req.json()) as ConfirmUploadBody,
|
|
110
113
|
ctxToken: req.cookies.get('edgestore-ctx')?.value,
|
|
111
114
|
});
|
|
112
|
-
return new Response(
|
|
115
|
+
return new Response(JSON.stringify(res), {
|
|
113
116
|
status: 200,
|
|
117
|
+
headers: {
|
|
118
|
+
'Content-Type': 'application/json',
|
|
119
|
+
},
|
|
114
120
|
});
|
|
115
121
|
} else if (req.nextUrl.pathname === '/api/edgestore/delete-file') {
|
|
116
|
-
await deleteFile({
|
|
122
|
+
const res = await deleteFile({
|
|
117
123
|
provider,
|
|
118
124
|
router: config.router,
|
|
119
125
|
body: (await req.json()) as DeleteFileBody,
|
|
120
126
|
ctxToken: req.cookies.get('edgestore-ctx')?.value,
|
|
121
127
|
});
|
|
122
|
-
return new Response(
|
|
128
|
+
return new Response(JSON.stringify(res), {
|
|
123
129
|
status: 200,
|
|
130
|
+
headers: {
|
|
131
|
+
'Content-Type': 'application/json',
|
|
132
|
+
},
|
|
124
133
|
});
|
|
125
134
|
} else if (req.nextUrl.pathname === '/api/edgestore/proxy-file') {
|
|
126
135
|
const url = req.nextUrl.searchParams.get('url');
|
|
@@ -82,21 +82,23 @@ export function createEdgeStoreNextHandler<TCtx>(config: Config<TCtx>) {
|
|
|
82
82
|
});
|
|
83
83
|
res.status(200).end();
|
|
84
84
|
} else if (req.url === '/api/edgestore/confirm-upload') {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
85
|
+
res.json(
|
|
86
|
+
await confirmUpload({
|
|
87
|
+
provider,
|
|
88
|
+
router: config.router,
|
|
89
|
+
body: req.body as ConfirmUploadBody,
|
|
90
|
+
ctxToken: req.cookies['edgestore-ctx'],
|
|
91
|
+
}),
|
|
92
|
+
);
|
|
92
93
|
} else if (req.url === '/api/edgestore/delete-file') {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
94
|
+
res.json(
|
|
95
|
+
await deleteFile({
|
|
96
|
+
provider,
|
|
97
|
+
router: config.router,
|
|
98
|
+
body: req.body as DeleteFileBody,
|
|
99
|
+
ctxToken: req.cookies['edgestore-ctx'],
|
|
100
|
+
}),
|
|
101
|
+
);
|
|
100
102
|
} else if (req.url?.startsWith('/api/edgestore/proxy-file')) {
|
|
101
103
|
const { url } = req.query;
|
|
102
104
|
if (typeof url === 'string') {
|
package/src/adapters/shared.ts
CHANGED
|
@@ -278,9 +278,9 @@ export async function confirmUpload<TCtx>(params: {
|
|
|
278
278
|
throw new Error(`Bucket ${bucketName} not found`);
|
|
279
279
|
}
|
|
280
280
|
|
|
281
|
-
await provider.confirmUpload({
|
|
281
|
+
return await provider.confirmUpload({
|
|
282
282
|
bucket,
|
|
283
|
-
url,
|
|
283
|
+
url: unproxyUrl(url),
|
|
284
284
|
});
|
|
285
285
|
}
|
|
286
286
|
|
|
@@ -330,9 +330,9 @@ export async function deleteFile<TCtx>(params: {
|
|
|
330
330
|
if (!canDelete) {
|
|
331
331
|
throw new Error('Delete not allowed');
|
|
332
332
|
}
|
|
333
|
-
await provider.deleteFile({
|
|
333
|
+
return await provider.deleteFile({
|
|
334
334
|
bucket,
|
|
335
|
-
url,
|
|
335
|
+
url: unproxyUrl(url),
|
|
336
336
|
});
|
|
337
337
|
}
|
|
338
338
|
|
|
@@ -418,6 +418,24 @@ async function getContext(token?: string) {
|
|
|
418
418
|
return await decryptJWT(token);
|
|
419
419
|
}
|
|
420
420
|
|
|
421
|
+
/**
|
|
422
|
+
* On local development, protected files are proxied to the server,
|
|
423
|
+
* which changes the original URL.
|
|
424
|
+
*
|
|
425
|
+
* This function is used to get the original URL,
|
|
426
|
+
* so that we can delete or confirm the upload.
|
|
427
|
+
*/
|
|
428
|
+
function unproxyUrl(url: string) {
|
|
429
|
+
if (process.env.NODE_ENV === 'development' && url.startsWith('http://')) {
|
|
430
|
+
// get the url param from the query string
|
|
431
|
+
const urlParam = new URL(url).searchParams.get('url');
|
|
432
|
+
if (urlParam) {
|
|
433
|
+
return urlParam;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
return url;
|
|
437
|
+
}
|
|
438
|
+
|
|
421
439
|
export type InitRes = Awaited<ReturnType<typeof init>>;
|
|
422
440
|
export type RequestUploadRes = Awaited<ReturnType<typeof requestUpload>>;
|
|
423
441
|
export type RequestUploadPartsRes = Awaited<
|