@edgestore/server 0.1.5-alpha.1 → 0.1.5-alpha.10
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/adapters/express/index.d.ts +1 -0
- package/adapters/express/index.js +1 -0
- package/dist/adapters/express/index.d.ts +20 -0
- package/dist/adapters/express/index.d.ts.map +1 -0
- package/dist/adapters/express/index.js +117 -0
- package/dist/adapters/express/index.mjs +113 -0
- package/dist/adapters/next/app/index.d.ts +5 -3
- package/dist/adapters/next/app/index.d.ts.map +1 -1
- package/dist/adapters/next/app/index.js +45 -16
- package/dist/adapters/next/app/index.mjs +44 -15
- package/dist/adapters/next/pages/index.d.ts +5 -3
- package/dist/adapters/next/pages/index.d.ts.map +1 -1
- package/dist/adapters/next/pages/index.js +37 -13
- package/dist/adapters/next/pages/index.mjs +36 -12
- package/dist/adapters/shared.d.ts +19 -1
- package/dist/adapters/shared.d.ts.map +1 -1
- package/dist/core/client/index.d.ts +116 -4
- package/dist/core/client/index.d.ts.map +1 -1
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +109 -34
- package/dist/core/index.mjs +110 -36
- package/dist/core/sdk/index.d.ts.map +1 -1
- package/dist/{index-f33a00fb.js → index-0c401ce1.js} +38 -4
- package/dist/{index-50ab9e08.js → index-23d1ede9.mjs} +42 -7
- package/dist/{index-30a3741e.mjs → index-a2e7ca9e.js} +49 -4
- package/dist/libs/errors/EdgeStoreApiClientError.d.ts +8 -0
- package/dist/libs/errors/EdgeStoreApiClientError.d.ts.map +1 -0
- package/dist/libs/errors/EdgeStoreCredentialsError.d.ts.map +1 -1
- package/dist/libs/errors/EdgeStoreError.d.ts +36 -4
- package/dist/libs/errors/EdgeStoreError.d.ts.map +1 -1
- package/dist/libs/logger.d.ts +13 -0
- package/dist/libs/logger.d.ts.map +1 -0
- package/dist/logger-7ea2248c.mjs +40 -0
- package/dist/logger-b530a3e1.js +42 -0
- package/dist/logger-e0066db9.js +33 -0
- package/dist/providers/azure/index.d.ts +20 -0
- package/dist/providers/azure/index.d.ts.map +1 -0
- package/dist/providers/azure/index.js +61 -0
- package/dist/providers/azure/index.mjs +57 -0
- package/dist/providers/edgestore/index.d.ts.map +1 -1
- package/dist/providers/edgestore/index.js +10 -3
- package/dist/providers/edgestore/index.mjs +10 -3
- package/dist/{shared-306c1af2.js → shared-06cb0d86.js} +150 -61
- package/dist/{shared-9fad0d51.js → shared-d474acc6.js} +114 -46
- package/dist/{shared-6dea9e91.mjs → shared-d7ea66fb.mjs} +141 -52
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +17 -2
- package/providers/azure/index.d.ts +1 -0
- package/providers/azure/index.js +1 -0
- package/src/adapters/express/index.ts +164 -0
- package/src/adapters/next/app/index.ts +63 -20
- package/src/adapters/next/pages/index.ts +52 -15
- package/src/adapters/shared.ts +142 -40
- package/src/core/client/index.ts +233 -51
- package/src/core/index.ts +6 -0
- package/src/core/sdk/index.ts +7 -1
- package/src/libs/errors/EdgeStoreApiClientError.ts +14 -0
- package/src/libs/errors/EdgeStoreCredentialsError.ts +1 -2
- package/src/libs/errors/EdgeStoreError.ts +74 -7
- package/src/libs/logger.ts +44 -0
- package/src/providers/azure/index.ts +89 -0
- package/src/providers/edgestore/index.ts +9 -2
- package/src/types.ts +8 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../../dist/adapters/express';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../dist/adapters/express');
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type Request, type Response } from 'express';
|
|
2
|
+
import { type EdgeStoreRouter } from '../../core/internals/bucketBuilder';
|
|
3
|
+
import { type LogLevel } from '../../libs/logger';
|
|
4
|
+
import { type Provider } from '../../providers/types';
|
|
5
|
+
import { type MaybePromise } from '../../types';
|
|
6
|
+
export type CreateContextOptions = {
|
|
7
|
+
req: Request;
|
|
8
|
+
res: Response;
|
|
9
|
+
};
|
|
10
|
+
export type Config<TCtx> = {
|
|
11
|
+
provider?: Provider;
|
|
12
|
+
router: EdgeStoreRouter<TCtx>;
|
|
13
|
+
logLevel?: LogLevel;
|
|
14
|
+
} & (TCtx extends Record<string, never> ? object : {
|
|
15
|
+
provider?: Provider;
|
|
16
|
+
router: EdgeStoreRouter<TCtx>;
|
|
17
|
+
createContext: (opts: CreateContextOptions) => MaybePromise<TCtx>;
|
|
18
|
+
});
|
|
19
|
+
export declare function createEdgeStoreExpressHandler<TCtx>(config: Config<TCtx>): (req: Request, res: Response) => Promise<void>;
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/express/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAK1E,OAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAehD,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,QAAQ,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,IAAI,IAAI;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GAAG,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,MAAM,GACN;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,CAAC;AAMP,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAMnD,OAAO,OAAO,QAAQ,mBAgH1C"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var index = require('../../index-a2e7ca9e.js');
|
|
6
|
+
var logger = require('../../logger-b530a3e1.js');
|
|
7
|
+
var providers_edgestore_index = require('../../providers/edgestore/index.js');
|
|
8
|
+
var shared = require('../../shared-06cb0d86.js');
|
|
9
|
+
require('@swc/helpers/_/_define_property');
|
|
10
|
+
require('@panva/hkdf');
|
|
11
|
+
require('cookie');
|
|
12
|
+
require('jose');
|
|
13
|
+
require('uuid');
|
|
14
|
+
|
|
15
|
+
function createEdgeStoreExpressHandler(config) {
|
|
16
|
+
const { provider = providers_edgestore_index.EdgeStoreProvider() } = config;
|
|
17
|
+
const log = new logger.Logger(config.logLevel);
|
|
18
|
+
globalThis._EDGE_STORE_LOGGER = log;
|
|
19
|
+
log.debug('Creating Edge Store Express handler');
|
|
20
|
+
return async (req, res)=>{
|
|
21
|
+
try {
|
|
22
|
+
if (req.url?.includes?.('/health')) {
|
|
23
|
+
res.send('OK');
|
|
24
|
+
} else if (req.url?.includes?.('/init')) {
|
|
25
|
+
let ctx = {};
|
|
26
|
+
try {
|
|
27
|
+
ctx = 'createContext' in config ? await config.createContext({
|
|
28
|
+
req,
|
|
29
|
+
res
|
|
30
|
+
}) : {};
|
|
31
|
+
} catch (err) {
|
|
32
|
+
throw new index.EdgeStoreError({
|
|
33
|
+
message: 'Error creating context',
|
|
34
|
+
code: 'CREATE_CONTEXT_ERROR',
|
|
35
|
+
cause: err instanceof Error ? err : undefined
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
const { newCookies, token, baseUrl } = await shared.init({
|
|
39
|
+
ctx,
|
|
40
|
+
provider,
|
|
41
|
+
router: config.router
|
|
42
|
+
});
|
|
43
|
+
res.setHeader('Set-Cookie', newCookies);
|
|
44
|
+
res.json({
|
|
45
|
+
token,
|
|
46
|
+
baseUrl
|
|
47
|
+
});
|
|
48
|
+
} else if (req.url?.includes?.('/request-upload')) {
|
|
49
|
+
res.json(await shared.requestUpload({
|
|
50
|
+
provider,
|
|
51
|
+
router: config.router,
|
|
52
|
+
body: req.body,
|
|
53
|
+
ctxToken: req.cookies['edgestore-ctx']
|
|
54
|
+
}));
|
|
55
|
+
} else if (req.url?.includes?.('/request-upload-parts')) {
|
|
56
|
+
res.json(await shared.requestUploadParts({
|
|
57
|
+
provider,
|
|
58
|
+
router: config.router,
|
|
59
|
+
body: req.body,
|
|
60
|
+
ctxToken: req.cookies['edgestore-ctx']
|
|
61
|
+
}));
|
|
62
|
+
} else if (req.url?.includes?.('/complete-multipart-upload')) {
|
|
63
|
+
await shared.completeMultipartUpload({
|
|
64
|
+
provider,
|
|
65
|
+
router: config.router,
|
|
66
|
+
body: req.body,
|
|
67
|
+
ctxToken: req.cookies['edgestore-ctx']
|
|
68
|
+
});
|
|
69
|
+
res.status(200).end();
|
|
70
|
+
} else if (req.url?.includes?.('/confirm-upload')) {
|
|
71
|
+
res.json(await shared.confirmUpload({
|
|
72
|
+
provider,
|
|
73
|
+
router: config.router,
|
|
74
|
+
body: req.body,
|
|
75
|
+
ctxToken: req.cookies['edgestore-ctx']
|
|
76
|
+
}));
|
|
77
|
+
} else if (req.url?.includes?.('/delete-file')) {
|
|
78
|
+
res.json(await shared.deleteFile({
|
|
79
|
+
provider,
|
|
80
|
+
router: config.router,
|
|
81
|
+
body: req.body,
|
|
82
|
+
ctxToken: req.cookies['edgestore-ctx']
|
|
83
|
+
}));
|
|
84
|
+
} else if (req.url?.includes?.('/proxy-file')) {
|
|
85
|
+
const { url } = req.query;
|
|
86
|
+
if (typeof url === 'string') {
|
|
87
|
+
const proxyRes = await fetch(url, {
|
|
88
|
+
headers: {
|
|
89
|
+
cookie: req.headers.cookie ?? ''
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
const data = await proxyRes.arrayBuffer();
|
|
93
|
+
res.setHeader('Content-Type', proxyRes.headers.get('Content-Type') ?? 'application/octet-stream');
|
|
94
|
+
res.end(Buffer.from(data));
|
|
95
|
+
} else {
|
|
96
|
+
res.status(400).end();
|
|
97
|
+
}
|
|
98
|
+
} else {
|
|
99
|
+
res.status(404).end();
|
|
100
|
+
}
|
|
101
|
+
} catch (err) {
|
|
102
|
+
if (err instanceof index.EdgeStoreError) {
|
|
103
|
+
log[err.level](err.formattedMessage());
|
|
104
|
+
if (err.cause) log[err.level](err.cause);
|
|
105
|
+
res.status(index.EDGE_STORE_ERROR_CODES[err.code]).json(err.formattedJson());
|
|
106
|
+
} else {
|
|
107
|
+
log.error(err);
|
|
108
|
+
res.status(500).send(new index.EdgeStoreError({
|
|
109
|
+
message: 'Internal Server Error',
|
|
110
|
+
code: 'SERVER_ERROR'
|
|
111
|
+
}).formattedJson());
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
exports.createEdgeStoreExpressHandler = createEdgeStoreExpressHandler;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { E as EdgeStoreError, a as EDGE_STORE_ERROR_CODES } from '../../index-23d1ede9.mjs';
|
|
2
|
+
import { L as Logger } from '../../logger-7ea2248c.mjs';
|
|
3
|
+
import { EdgeStoreProvider } from '../../providers/edgestore/index.mjs';
|
|
4
|
+
import { i as init, r as requestUpload, a as requestUploadParts, c as completeMultipartUpload, d as confirmUpload, e as deleteFile } from '../../shared-d7ea66fb.mjs';
|
|
5
|
+
import '@swc/helpers/_/_define_property';
|
|
6
|
+
import '@panva/hkdf';
|
|
7
|
+
import 'cookie';
|
|
8
|
+
import 'jose';
|
|
9
|
+
import 'uuid';
|
|
10
|
+
|
|
11
|
+
function createEdgeStoreExpressHandler(config) {
|
|
12
|
+
const { provider = EdgeStoreProvider() } = config;
|
|
13
|
+
const log = new Logger(config.logLevel);
|
|
14
|
+
globalThis._EDGE_STORE_LOGGER = log;
|
|
15
|
+
log.debug('Creating Edge Store Express handler');
|
|
16
|
+
return async (req, res)=>{
|
|
17
|
+
try {
|
|
18
|
+
if (req.url?.includes?.('/health')) {
|
|
19
|
+
res.send('OK');
|
|
20
|
+
} else if (req.url?.includes?.('/init')) {
|
|
21
|
+
let ctx = {};
|
|
22
|
+
try {
|
|
23
|
+
ctx = 'createContext' in config ? await config.createContext({
|
|
24
|
+
req,
|
|
25
|
+
res
|
|
26
|
+
}) : {};
|
|
27
|
+
} catch (err) {
|
|
28
|
+
throw new EdgeStoreError({
|
|
29
|
+
message: 'Error creating context',
|
|
30
|
+
code: 'CREATE_CONTEXT_ERROR',
|
|
31
|
+
cause: err instanceof Error ? err : undefined
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const { newCookies, token, baseUrl } = await init({
|
|
35
|
+
ctx,
|
|
36
|
+
provider,
|
|
37
|
+
router: config.router
|
|
38
|
+
});
|
|
39
|
+
res.setHeader('Set-Cookie', newCookies);
|
|
40
|
+
res.json({
|
|
41
|
+
token,
|
|
42
|
+
baseUrl
|
|
43
|
+
});
|
|
44
|
+
} else if (req.url?.includes?.('/request-upload')) {
|
|
45
|
+
res.json(await requestUpload({
|
|
46
|
+
provider,
|
|
47
|
+
router: config.router,
|
|
48
|
+
body: req.body,
|
|
49
|
+
ctxToken: req.cookies['edgestore-ctx']
|
|
50
|
+
}));
|
|
51
|
+
} else if (req.url?.includes?.('/request-upload-parts')) {
|
|
52
|
+
res.json(await requestUploadParts({
|
|
53
|
+
provider,
|
|
54
|
+
router: config.router,
|
|
55
|
+
body: req.body,
|
|
56
|
+
ctxToken: req.cookies['edgestore-ctx']
|
|
57
|
+
}));
|
|
58
|
+
} else if (req.url?.includes?.('/complete-multipart-upload')) {
|
|
59
|
+
await completeMultipartUpload({
|
|
60
|
+
provider,
|
|
61
|
+
router: config.router,
|
|
62
|
+
body: req.body,
|
|
63
|
+
ctxToken: req.cookies['edgestore-ctx']
|
|
64
|
+
});
|
|
65
|
+
res.status(200).end();
|
|
66
|
+
} else if (req.url?.includes?.('/confirm-upload')) {
|
|
67
|
+
res.json(await confirmUpload({
|
|
68
|
+
provider,
|
|
69
|
+
router: config.router,
|
|
70
|
+
body: req.body,
|
|
71
|
+
ctxToken: req.cookies['edgestore-ctx']
|
|
72
|
+
}));
|
|
73
|
+
} else if (req.url?.includes?.('/delete-file')) {
|
|
74
|
+
res.json(await deleteFile({
|
|
75
|
+
provider,
|
|
76
|
+
router: config.router,
|
|
77
|
+
body: req.body,
|
|
78
|
+
ctxToken: req.cookies['edgestore-ctx']
|
|
79
|
+
}));
|
|
80
|
+
} else if (req.url?.includes?.('/proxy-file')) {
|
|
81
|
+
const { url } = req.query;
|
|
82
|
+
if (typeof url === 'string') {
|
|
83
|
+
const proxyRes = await fetch(url, {
|
|
84
|
+
headers: {
|
|
85
|
+
cookie: req.headers.cookie ?? ''
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
const data = await proxyRes.arrayBuffer();
|
|
89
|
+
res.setHeader('Content-Type', proxyRes.headers.get('Content-Type') ?? 'application/octet-stream');
|
|
90
|
+
res.end(Buffer.from(data));
|
|
91
|
+
} else {
|
|
92
|
+
res.status(400).end();
|
|
93
|
+
}
|
|
94
|
+
} else {
|
|
95
|
+
res.status(404).end();
|
|
96
|
+
}
|
|
97
|
+
} catch (err) {
|
|
98
|
+
if (err instanceof EdgeStoreError) {
|
|
99
|
+
log[err.level](err.formattedMessage());
|
|
100
|
+
if (err.cause) log[err.level](err.cause);
|
|
101
|
+
res.status(EDGE_STORE_ERROR_CODES[err.code]).json(err.formattedJson());
|
|
102
|
+
} else {
|
|
103
|
+
log.error(err);
|
|
104
|
+
res.status(500).send(new EdgeStoreError({
|
|
105
|
+
message: 'Internal Server Error',
|
|
106
|
+
code: 'SERVER_ERROR'
|
|
107
|
+
}).formattedJson());
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export { createEdgeStoreExpressHandler };
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { type NextRequest } from 'next/server';
|
|
2
2
|
import { type EdgeStoreRouter } from '../../../core/internals/bucketBuilder';
|
|
3
|
+
import { type LogLevel } from '../../../libs/logger';
|
|
3
4
|
import { type Provider } from '../../../providers/types';
|
|
4
5
|
import { type MaybePromise } from '../../../types';
|
|
5
6
|
export type CreateContextOptions = {
|
|
6
7
|
req: NextRequest;
|
|
7
8
|
};
|
|
8
|
-
export type Config<TCtx> =
|
|
9
|
+
export type Config<TCtx> = {
|
|
9
10
|
provider?: Provider;
|
|
10
11
|
router: EdgeStoreRouter<TCtx>;
|
|
11
|
-
|
|
12
|
+
logLevel?: LogLevel;
|
|
13
|
+
} & (TCtx extends Record<string, never> ? object : {
|
|
12
14
|
provider?: Provider;
|
|
13
15
|
router: EdgeStoreRouter<TCtx>;
|
|
14
16
|
createContext: (opts: CreateContextOptions) => MaybePromise<TCtx>;
|
|
15
|
-
};
|
|
17
|
+
});
|
|
16
18
|
export declare function createEdgeStoreNextHandler<TCtx>(config: Config<TCtx>): (req: NextRequest) => Promise<Response>;
|
|
17
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,
|
|
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,OAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D,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;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GAAG,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,MAAM,GACN;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,CAAC;AAMP,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAMhD,WAAW,uBAqK/B"}
|
|
@@ -2,23 +2,44 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var index = require('../../../index-a2e7ca9e.js');
|
|
6
|
+
var logger = require('../../../logger-b530a3e1.js');
|
|
6
7
|
var providers_edgestore_index = require('../../../providers/edgestore/index.js');
|
|
8
|
+
var shared = require('../../../shared-06cb0d86.js');
|
|
9
|
+
require('@swc/helpers/_/_define_property');
|
|
7
10
|
require('@panva/hkdf');
|
|
8
11
|
require('cookie');
|
|
9
12
|
require('jose');
|
|
10
13
|
require('uuid');
|
|
11
|
-
require('@swc/helpers/_/_define_property');
|
|
12
|
-
require('../../../index-50ab9e08.js');
|
|
13
14
|
|
|
14
15
|
function createEdgeStoreNextHandler(config) {
|
|
15
16
|
const { provider = providers_edgestore_index.EdgeStoreProvider() } = config;
|
|
17
|
+
const log = new logger.Logger(config.logLevel);
|
|
18
|
+
globalThis._EDGE_STORE_LOGGER = log;
|
|
19
|
+
log.debug('Creating Edge Store Next handler (app adapter)');
|
|
16
20
|
return async (req)=>{
|
|
17
21
|
try {
|
|
18
|
-
if (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
if (!('nextUrl' in req)) throw new index.EdgeStoreError({
|
|
23
|
+
message: 'Error running the app adapter. Make sure you are importing the correct adapter in your router configuration',
|
|
24
|
+
code: 'SERVER_ERROR'
|
|
25
|
+
});
|
|
26
|
+
if (req.nextUrl.pathname.endsWith('/health')) {
|
|
27
|
+
return new Response('OK', {
|
|
28
|
+
status: 200
|
|
29
|
+
});
|
|
30
|
+
} else if (req.nextUrl.pathname.endsWith('/init')) {
|
|
31
|
+
let ctx = {};
|
|
32
|
+
try {
|
|
33
|
+
ctx = 'createContext' in config ? await config.createContext({
|
|
34
|
+
req
|
|
35
|
+
}) : {};
|
|
36
|
+
} catch (err) {
|
|
37
|
+
throw new index.EdgeStoreError({
|
|
38
|
+
message: 'Error creating context',
|
|
39
|
+
code: 'CREATE_CONTEXT_ERROR',
|
|
40
|
+
cause: err instanceof Error ? err : undefined
|
|
41
|
+
});
|
|
42
|
+
}
|
|
22
43
|
const { newCookies, token, baseUrl } = await shared.init({
|
|
23
44
|
ctx,
|
|
24
45
|
provider,
|
|
@@ -125,17 +146,25 @@ function createEdgeStoreNextHandler(config) {
|
|
|
125
146
|
});
|
|
126
147
|
}
|
|
127
148
|
} catch (err) {
|
|
128
|
-
if (err instanceof
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
149
|
+
if (err instanceof index.EdgeStoreError) {
|
|
150
|
+
log[err.level](err.formattedMessage());
|
|
151
|
+
if (err.cause) log[err.level](err.cause);
|
|
152
|
+
return new Response(JSON.stringify(err.formattedJson()), {
|
|
153
|
+
status: index.EDGE_STORE_ERROR_CODES[err.code],
|
|
154
|
+
headers: {
|
|
155
|
+
'Content-Type': 'application/json'
|
|
156
|
+
}
|
|
135
157
|
});
|
|
136
158
|
}
|
|
137
|
-
|
|
138
|
-
|
|
159
|
+
log.error(err);
|
|
160
|
+
return new Response(JSON.stringify(new index.EdgeStoreError({
|
|
161
|
+
message: 'Internal server error',
|
|
162
|
+
code: 'SERVER_ERROR'
|
|
163
|
+
}).formattedJson()), {
|
|
164
|
+
status: 500,
|
|
165
|
+
headers: {
|
|
166
|
+
'Content-Type': 'application/json'
|
|
167
|
+
}
|
|
139
168
|
});
|
|
140
169
|
}
|
|
141
170
|
};
|
|
@@ -1,20 +1,41 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { E as EdgeStoreError, a as EDGE_STORE_ERROR_CODES } from '../../../index-23d1ede9.mjs';
|
|
2
|
+
import { L as Logger } from '../../../logger-7ea2248c.mjs';
|
|
2
3
|
import { EdgeStoreProvider } from '../../../providers/edgestore/index.mjs';
|
|
4
|
+
import { i as init, r as requestUpload, a as requestUploadParts, c as completeMultipartUpload, d as confirmUpload, e as deleteFile } from '../../../shared-d7ea66fb.mjs';
|
|
5
|
+
import '@swc/helpers/_/_define_property';
|
|
3
6
|
import '@panva/hkdf';
|
|
4
7
|
import 'cookie';
|
|
5
8
|
import 'jose';
|
|
6
9
|
import 'uuid';
|
|
7
|
-
import '@swc/helpers/_/_define_property';
|
|
8
|
-
import '../../../index-30a3741e.mjs';
|
|
9
10
|
|
|
10
11
|
function createEdgeStoreNextHandler(config) {
|
|
11
12
|
const { provider = EdgeStoreProvider() } = config;
|
|
13
|
+
const log = new Logger(config.logLevel);
|
|
14
|
+
globalThis._EDGE_STORE_LOGGER = log;
|
|
15
|
+
log.debug('Creating Edge Store Next handler (app adapter)');
|
|
12
16
|
return async (req)=>{
|
|
13
17
|
try {
|
|
14
|
-
if (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
if (!('nextUrl' in req)) throw new EdgeStoreError({
|
|
19
|
+
message: 'Error running the app adapter. Make sure you are importing the correct adapter in your router configuration',
|
|
20
|
+
code: 'SERVER_ERROR'
|
|
21
|
+
});
|
|
22
|
+
if (req.nextUrl.pathname.endsWith('/health')) {
|
|
23
|
+
return new Response('OK', {
|
|
24
|
+
status: 200
|
|
25
|
+
});
|
|
26
|
+
} else if (req.nextUrl.pathname.endsWith('/init')) {
|
|
27
|
+
let ctx = {};
|
|
28
|
+
try {
|
|
29
|
+
ctx = 'createContext' in config ? await config.createContext({
|
|
30
|
+
req
|
|
31
|
+
}) : {};
|
|
32
|
+
} catch (err) {
|
|
33
|
+
throw new EdgeStoreError({
|
|
34
|
+
message: 'Error creating context',
|
|
35
|
+
code: 'CREATE_CONTEXT_ERROR',
|
|
36
|
+
cause: err instanceof Error ? err : undefined
|
|
37
|
+
});
|
|
38
|
+
}
|
|
18
39
|
const { newCookies, token, baseUrl } = await init({
|
|
19
40
|
ctx,
|
|
20
41
|
provider,
|
|
@@ -122,16 +143,24 @@ function createEdgeStoreNextHandler(config) {
|
|
|
122
143
|
}
|
|
123
144
|
} catch (err) {
|
|
124
145
|
if (err instanceof EdgeStoreError) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
146
|
+
log[err.level](err.formattedMessage());
|
|
147
|
+
if (err.cause) log[err.level](err.cause);
|
|
148
|
+
return new Response(JSON.stringify(err.formattedJson()), {
|
|
149
|
+
status: EDGE_STORE_ERROR_CODES[err.code],
|
|
150
|
+
headers: {
|
|
151
|
+
'Content-Type': 'application/json'
|
|
152
|
+
}
|
|
131
153
|
});
|
|
132
154
|
}
|
|
133
|
-
|
|
134
|
-
|
|
155
|
+
log.error(err);
|
|
156
|
+
return new Response(JSON.stringify(new EdgeStoreError({
|
|
157
|
+
message: 'Internal server error',
|
|
158
|
+
code: 'SERVER_ERROR'
|
|
159
|
+
}).formattedJson()), {
|
|
160
|
+
status: 500,
|
|
161
|
+
headers: {
|
|
162
|
+
'Content-Type': 'application/json'
|
|
163
|
+
}
|
|
135
164
|
});
|
|
136
165
|
}
|
|
137
166
|
};
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { type NextApiRequest, type NextApiResponse } from 'next/types';
|
|
2
2
|
import { type EdgeStoreRouter } from '../../../core/internals/bucketBuilder';
|
|
3
|
+
import { type LogLevel } from '../../../libs/logger';
|
|
3
4
|
import { type Provider } from '../../../providers/types';
|
|
4
5
|
import { type MaybePromise } from '../../../types';
|
|
5
6
|
export type CreateContextOptions = {
|
|
6
7
|
req: NextApiRequest;
|
|
7
8
|
res: NextApiResponse;
|
|
8
9
|
};
|
|
9
|
-
export type Config<TCtx> =
|
|
10
|
+
export type Config<TCtx> = {
|
|
10
11
|
provider?: Provider;
|
|
11
12
|
router: EdgeStoreRouter<TCtx>;
|
|
12
|
-
|
|
13
|
+
logLevel?: LogLevel;
|
|
14
|
+
} & (TCtx extends Record<string, never> ? object : {
|
|
13
15
|
provider?: Provider;
|
|
14
16
|
router: EdgeStoreRouter<TCtx>;
|
|
15
17
|
createContext: (opts: CreateContextOptions) => MaybePromise<TCtx>;
|
|
16
|
-
};
|
|
18
|
+
});
|
|
17
19
|
export declare function createEdgeStoreNextHandler<TCtx>(config: Config<TCtx>): (req: NextApiRequest, res: NextApiResponse) => Promise<void>;
|
|
18
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,
|
|
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,OAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D,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;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GAAG,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,MAAM,GACN;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,CAAC;AAMP,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAMhD,cAAc,OAAO,eAAe,mBAsHxD"}
|
|
@@ -2,24 +2,43 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var index = require('../../../index-a2e7ca9e.js');
|
|
6
|
+
var logger = require('../../../logger-b530a3e1.js');
|
|
6
7
|
var providers_edgestore_index = require('../../../providers/edgestore/index.js');
|
|
8
|
+
var shared = require('../../../shared-06cb0d86.js');
|
|
9
|
+
require('@swc/helpers/_/_define_property');
|
|
7
10
|
require('@panva/hkdf');
|
|
8
11
|
require('cookie');
|
|
9
12
|
require('jose');
|
|
10
13
|
require('uuid');
|
|
11
|
-
require('@swc/helpers/_/_define_property');
|
|
12
|
-
require('../../../index-50ab9e08.js');
|
|
13
14
|
|
|
14
15
|
function createEdgeStoreNextHandler(config) {
|
|
15
16
|
const { provider = providers_edgestore_index.EdgeStoreProvider() } = config;
|
|
17
|
+
const log = new logger.Logger(config.logLevel);
|
|
18
|
+
globalThis._EDGE_STORE_LOGGER = log;
|
|
19
|
+
log.debug('Creating Edge Store Next handler (pages adapter)');
|
|
16
20
|
return async (req, res)=>{
|
|
17
21
|
try {
|
|
18
|
-
if (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
if (!('json' in res)) throw new index.EdgeStoreError({
|
|
23
|
+
message: 'Error running the pages adapter. Make sure you are importing the correct adapter in your router configuration',
|
|
24
|
+
code: 'SERVER_ERROR'
|
|
25
|
+
});
|
|
26
|
+
if (req.url?.includes?.('/health')) {
|
|
27
|
+
res.send('OK');
|
|
28
|
+
} else if (req.url?.includes?.('/init')) {
|
|
29
|
+
let ctx = {};
|
|
30
|
+
try {
|
|
31
|
+
ctx = 'createContext' in config ? await config.createContext({
|
|
32
|
+
req,
|
|
33
|
+
res
|
|
34
|
+
}) : {};
|
|
35
|
+
} catch (err) {
|
|
36
|
+
throw new index.EdgeStoreError({
|
|
37
|
+
message: 'Error creating context',
|
|
38
|
+
code: 'CREATE_CONTEXT_ERROR',
|
|
39
|
+
cause: err instanceof Error ? err : undefined
|
|
40
|
+
});
|
|
41
|
+
}
|
|
23
42
|
const { newCookies, token, baseUrl } = await shared.init({
|
|
24
43
|
ctx,
|
|
25
44
|
provider,
|
|
@@ -84,12 +103,17 @@ function createEdgeStoreNextHandler(config) {
|
|
|
84
103
|
res.status(404).end();
|
|
85
104
|
}
|
|
86
105
|
} catch (err) {
|
|
87
|
-
if (err instanceof
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
res.status(
|
|
106
|
+
if (err instanceof index.EdgeStoreError) {
|
|
107
|
+
log[err.level](err.formattedMessage());
|
|
108
|
+
if (err.cause) log[err.level](err.cause);
|
|
109
|
+
res.status(index.EDGE_STORE_ERROR_CODES[err.code]).json(err.formattedJson());
|
|
110
|
+
} else {
|
|
111
|
+
log.error(err);
|
|
112
|
+
res.status(500).send(new index.EdgeStoreError({
|
|
113
|
+
message: 'Internal Server Error',
|
|
114
|
+
code: 'SERVER_ERROR'
|
|
115
|
+
}).formattedJson());
|
|
91
116
|
}
|
|
92
|
-
res.status(500).send('Internal server error');
|
|
93
117
|
}
|
|
94
118
|
};
|
|
95
119
|
}
|
|
@@ -1,21 +1,40 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { E as EdgeStoreError, a as EDGE_STORE_ERROR_CODES } from '../../../index-23d1ede9.mjs';
|
|
2
|
+
import { L as Logger } from '../../../logger-7ea2248c.mjs';
|
|
2
3
|
import { EdgeStoreProvider } from '../../../providers/edgestore/index.mjs';
|
|
4
|
+
import { i as init, r as requestUpload, a as requestUploadParts, c as completeMultipartUpload, d as confirmUpload, e as deleteFile } from '../../../shared-d7ea66fb.mjs';
|
|
5
|
+
import '@swc/helpers/_/_define_property';
|
|
3
6
|
import '@panva/hkdf';
|
|
4
7
|
import 'cookie';
|
|
5
8
|
import 'jose';
|
|
6
9
|
import 'uuid';
|
|
7
|
-
import '@swc/helpers/_/_define_property';
|
|
8
|
-
import '../../../index-30a3741e.mjs';
|
|
9
10
|
|
|
10
11
|
function createEdgeStoreNextHandler(config) {
|
|
11
12
|
const { provider = EdgeStoreProvider() } = config;
|
|
13
|
+
const log = new Logger(config.logLevel);
|
|
14
|
+
globalThis._EDGE_STORE_LOGGER = log;
|
|
15
|
+
log.debug('Creating Edge Store Next handler (pages adapter)');
|
|
12
16
|
return async (req, res)=>{
|
|
13
17
|
try {
|
|
14
|
-
if (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
if (!('json' in res)) throw new EdgeStoreError({
|
|
19
|
+
message: 'Error running the pages adapter. Make sure you are importing the correct adapter in your router configuration',
|
|
20
|
+
code: 'SERVER_ERROR'
|
|
21
|
+
});
|
|
22
|
+
if (req.url?.includes?.('/health')) {
|
|
23
|
+
res.send('OK');
|
|
24
|
+
} else if (req.url?.includes?.('/init')) {
|
|
25
|
+
let ctx = {};
|
|
26
|
+
try {
|
|
27
|
+
ctx = 'createContext' in config ? await config.createContext({
|
|
28
|
+
req,
|
|
29
|
+
res
|
|
30
|
+
}) : {};
|
|
31
|
+
} catch (err) {
|
|
32
|
+
throw new EdgeStoreError({
|
|
33
|
+
message: 'Error creating context',
|
|
34
|
+
code: 'CREATE_CONTEXT_ERROR',
|
|
35
|
+
cause: err instanceof Error ? err : undefined
|
|
36
|
+
});
|
|
37
|
+
}
|
|
19
38
|
const { newCookies, token, baseUrl } = await init({
|
|
20
39
|
ctx,
|
|
21
40
|
provider,
|
|
@@ -81,11 +100,16 @@ function createEdgeStoreNextHandler(config) {
|
|
|
81
100
|
}
|
|
82
101
|
} catch (err) {
|
|
83
102
|
if (err instanceof EdgeStoreError) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
res.status(
|
|
103
|
+
log[err.level](err.formattedMessage());
|
|
104
|
+
if (err.cause) log[err.level](err.cause);
|
|
105
|
+
res.status(EDGE_STORE_ERROR_CODES[err.code]).json(err.formattedJson());
|
|
106
|
+
} else {
|
|
107
|
+
log.error(err);
|
|
108
|
+
res.status(500).send(new EdgeStoreError({
|
|
109
|
+
message: 'Internal Server Error',
|
|
110
|
+
code: 'SERVER_ERROR'
|
|
111
|
+
}).formattedJson());
|
|
87
112
|
}
|
|
88
|
-
res.status(500).send('Internal server error');
|
|
89
113
|
}
|
|
90
114
|
};
|
|
91
115
|
}
|