@lark-apaas/dataloom 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/README.md +9 -16
- package/lib/DataloomClient.d.ts +2 -5
- package/lib/DataloomClient.d.ts.map +1 -1
- package/lib/DataloomClient.js +6 -8
- package/lib/index.d.ts +3 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/storage/StorageClient.d.ts +4 -0
- package/lib/storage/StorageClient.d.ts.map +1 -1
- package/lib/storage/packages/StorageFileApi.d.ts.map +1 -1
- package/lib/storage/packages/StorageFileApi.js +1 -1
- package/lib/storage/utils/logger.d.ts.map +1 -1
- package/lib/storage/utils/logger.js +11 -7
- package/lib/utils/constants.d.ts +4 -0
- package/lib/utils/constants.d.ts.map +1 -1
- package/lib/utils/constants.js +0 -19
- package/lib/utils/fetch.d.ts +7 -1
- package/lib/utils/fetch.d.ts.map +1 -1
- package/lib/utils/fetch.js +4 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -47,16 +47,12 @@ import { createClient } from '@lark-apaas/dataloom';
|
|
|
47
47
|
```ts
|
|
48
48
|
import { createClient } from '@lark-apaas/dataloom';
|
|
49
49
|
|
|
50
|
-
const client = createClient(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
global: {
|
|
55
|
-
brandName: 'miaoda',
|
|
56
|
-
appId: 'app_xxx',
|
|
57
|
-
},
|
|
50
|
+
const client = createClient({
|
|
51
|
+
global: {
|
|
52
|
+
brandName: 'miaoda',
|
|
53
|
+
appId: 'app_xxx',
|
|
58
54
|
},
|
|
59
|
-
);
|
|
55
|
+
});
|
|
60
56
|
```
|
|
61
57
|
|
|
62
58
|
创建完成后,可以通过以下入口访问能力:
|
|
@@ -70,19 +66,16 @@ const client = createClient(
|
|
|
70
66
|
### `createClient(...)`
|
|
71
67
|
|
|
72
68
|
```ts
|
|
73
|
-
createClient(
|
|
74
|
-
dataloomUrl: string,
|
|
75
|
-
dataloomKey: string,
|
|
76
|
-
options?: DataloomClientOptions,
|
|
77
|
-
)
|
|
69
|
+
createClient(options?: DataloomClientOptions)
|
|
78
70
|
```
|
|
79
71
|
|
|
72
|
+
storage 网关前缀由 `options.global.appId` 自动拼接为
|
|
73
|
+
`/app/${appId}/runtime/api/v1/storage`,浏览器自动携带 session cookie 完成鉴权。
|
|
74
|
+
|
|
80
75
|
#### 入参
|
|
81
76
|
|
|
82
77
|
| 参数 | 类型 | 必填 | 说明 |
|
|
83
78
|
| --- | --- | --- | --- |
|
|
84
|
-
| `dataloomUrl` | `string` | 是 | Dataloom 服务地址 |
|
|
85
|
-
| `dataloomKey` | `string` | 是 | 访问 Dataloom 的 key |
|
|
86
79
|
| `options` | `DataloomClientOptions` | 否 | 初始化配置 |
|
|
87
80
|
|
|
88
81
|
#### 返回
|
package/lib/DataloomClient.d.ts
CHANGED
|
@@ -9,8 +9,6 @@ import type { OnRequestErrorType } from './storage/libs/types';
|
|
|
9
9
|
* An isomorphic Javascript client for interacting with Dataloom service and storage.
|
|
10
10
|
*/
|
|
11
11
|
export default class DataloomClient {
|
|
12
|
-
protected dataloomUrl: string;
|
|
13
|
-
protected dataloomKey: string;
|
|
14
12
|
service: DataloomService;
|
|
15
13
|
storage: StorageClient;
|
|
16
14
|
protected storageUrl: string;
|
|
@@ -20,11 +18,10 @@ export default class DataloomClient {
|
|
|
20
18
|
protected headers: Record<string, string>;
|
|
21
19
|
/**
|
|
22
20
|
* Create a new client for use in the browser.
|
|
23
|
-
* @param
|
|
24
|
-
* @param dataloomKey The unique Dataloom Key which is supplied when you create a new project.
|
|
21
|
+
* @param options.global.appId 业务 appId;storage 网关前缀由此拼接。
|
|
25
22
|
* @param options.global.fetch A custom fetch implementation.
|
|
26
23
|
* @param options.global.headers Any additional headers to send with each network request.
|
|
27
24
|
*/
|
|
28
|
-
constructor(
|
|
25
|
+
constructor(options?: DataloomClientOptions);
|
|
29
26
|
}
|
|
30
27
|
//# sourceMappingURL=DataloomClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataloomClient.d.ts","sourceRoot":"","sources":["../src/DataloomClient.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,eAAe,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAK1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"DataloomClient.d.ts","sourceRoot":"","sources":["../src/DataloomClient.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,eAAe,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAK1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAS/D;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,aAAa,CAAC;IAEvB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACxB,SAAS,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACpC,SAAS,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAE9D,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE1C;;;;;OAKG;gBACS,OAAO,CAAC,EAAE,qBAAqB;CA6C5C"}
|
package/lib/DataloomClient.js
CHANGED
|
@@ -2,19 +2,17 @@ import RateLimiter from "./RateLimiter.js";
|
|
|
2
2
|
import service from "./service/index.js";
|
|
3
3
|
import { StorageClient } from "./storage/index.js";
|
|
4
4
|
import { DEFAULT_GLOBAL_OPTIONS } from "./utils/constants.js";
|
|
5
|
-
import {
|
|
6
|
-
import { applySettingDefaults
|
|
5
|
+
import { withCredentialsFetch } from "./utils/fetch.js";
|
|
6
|
+
import { applySettingDefaults } from "./utils/helpers.js";
|
|
7
7
|
import { reportDataloomException } from "./utils/slardar.js";
|
|
8
|
+
const buildStorageUrl = (appId)=>`/app/${appId}/runtime/api/v1/storage`;
|
|
8
9
|
class DataloomClient {
|
|
9
|
-
constructor(
|
|
10
|
-
this.dataloomUrl = dataloomUrl;
|
|
11
|
-
this.dataloomKey = dataloomKey;
|
|
12
|
-
const normalizedDataloomUrl = stripTrailingSlash(dataloomUrl);
|
|
13
|
-
this.storageUrl = `${normalizedDataloomUrl}/storage`;
|
|
10
|
+
constructor(options){
|
|
14
11
|
const DEFAULTS = {
|
|
15
12
|
global: DEFAULT_GLOBAL_OPTIONS
|
|
16
13
|
};
|
|
17
14
|
const settings = applySettingDefaults(options ?? {}, DEFAULTS);
|
|
15
|
+
this.storageUrl = buildStorageUrl(settings.global.appId);
|
|
18
16
|
this.headers = settings.global.headers ?? {};
|
|
19
17
|
this.onRequestError = (error)=>{
|
|
20
18
|
reportDataloomException(error, {
|
|
@@ -25,7 +23,7 @@ class DataloomClient {
|
|
|
25
23
|
if (settings.global.onError) settings.global.onError(error, this);
|
|
26
24
|
};
|
|
27
25
|
if (settings.global.requestRateLimit && settings.global.requestRateLimit > 0) this.rateLimiter = new RateLimiter(settings.global.requestRateLimit);
|
|
28
|
-
this.fetch =
|
|
26
|
+
this.fetch = withCredentialsFetch(this.rateLimiter, settings.global.fetch);
|
|
29
27
|
this.service = new service({
|
|
30
28
|
accountServices: settings.global.accountServices
|
|
31
29
|
});
|
package/lib/index.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export { default as DataloomClient } from './DataloomClient';
|
|
|
4
4
|
export type { DataloomClientOptions } from './utils/types';
|
|
5
5
|
/**
|
|
6
6
|
* Creates a new Dataloom Client.
|
|
7
|
+
*
|
|
8
|
+
* @param options 客户端配置;`options.global.appId` 决定 storage 网关前缀。
|
|
7
9
|
*/
|
|
8
|
-
export declare const createClient: (
|
|
10
|
+
export declare const createClient: (options?: DataloomClientOptions) => DataloomClient;
|
|
9
11
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D;;;;GAIG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,qBAAqB,KAC9B,cAEF,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -8,6 +8,10 @@ export interface StorageClientOptions {
|
|
|
8
8
|
onRequestError: (error: OnRequestErrorType) => void;
|
|
9
9
|
}
|
|
10
10
|
export declare class StorageClient {
|
|
11
|
+
/**
|
|
12
|
+
* Storage 网关前缀,形如 `/app/${appId}/runtime/api/v1/storage`,
|
|
13
|
+
* 浏览器同源 + cookie 鉴权。
|
|
14
|
+
*/
|
|
11
15
|
protected url: string;
|
|
12
16
|
protected headers: {
|
|
13
17
|
[key: string]: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageClient.d.ts","sourceRoot":"","sources":["../../src/storage/StorageClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACrD;AAED,qBAAa,aAAa;IACxB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7C,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;gBAG7D,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAO,EACvC,KAAK,CAAC,EAAE,KAAK,EACb,IAAI,CAAC,EAAE,oBAAoB;IAa7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc;CAWjC"}
|
|
1
|
+
{"version":3,"file":"StorageClient.d.ts","sourceRoot":"","sources":["../../src/storage/StorageClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACrD;AAED,qBAAa,aAAa;IACxB;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7C,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;gBAG7D,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAO,EACvC,KAAK,CAAC,EAAE,KAAK,EACb,IAAI,CAAC,EAAE,oBAAoB;IAa7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc;CAWjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageFileApi.d.ts","sourceRoot":"","sources":["../../../src/storage/packages/StorageFileApi.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"StorageFileApi.d.ts","sourceRoot":"","sources":["../../../src/storage/packages/StorageFileApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -359,7 +359,7 @@ class StorageFileApi {
|
|
|
359
359
|
return '';
|
|
360
360
|
}
|
|
361
361
|
async _copyWithinVolcEngine(url) {
|
|
362
|
-
const res = await post(this.fetch, `${this.url}/
|
|
362
|
+
const res = await post(this.fetch, `${this.url}/object/${this.bucketId}/copy`, {
|
|
363
363
|
source: {
|
|
364
364
|
type: 'externalTOS',
|
|
365
365
|
externalURL: url
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/storage/utils/logger.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9D,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,QAAQ,SAAS,EAAE,gBAAmB,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/storage/utils/logger.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9D,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,QAAQ,SAAS,EAAE,gBAAmB,SA+BhE,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,EACf,UAAU;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC3D,gBAAmB,SA0BpB,CAAC"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
const logRequest = (params, psmName = 'Storage')=>{
|
|
2
2
|
const { traceId, url, method, body } = params;
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
const base = 'undefined' != typeof window && window.location?.origin ? window.location.origin : 'http://localhost';
|
|
4
|
+
let decodedParams = [];
|
|
5
|
+
try {
|
|
6
|
+
decodedParams = Array.from(new URL(url, base).searchParams.entries()).filter(([key])=>![
|
|
7
|
+
'count',
|
|
8
|
+
'tx',
|
|
9
|
+
'missing',
|
|
10
|
+
'resolution',
|
|
11
|
+
'column'
|
|
12
|
+
].includes(key)).map(([key, value])=>`${key}=${value}`);
|
|
13
|
+
} catch {}
|
|
10
14
|
console.log(`[Dataloom][${psmName}][Request]`, 'trace id:', traceId, 'method:', method, 'params:', decodedParams.join(','), 'body:', body);
|
|
11
15
|
};
|
|
12
16
|
const logResponse = (traceId, response, psmName = 'Storage')=>{
|
package/lib/utils/constants.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `X-Suda-Csrf-Token`(CSRF 防护)由调用方在初始化 client 时通过
|
|
3
|
+
* `options.global.headers` 注入,避免本包反向依赖上游的 `getCsrfToken`。
|
|
4
|
+
*/
|
|
1
5
|
export declare const DEFAULT_HEADERS: Record<string, string>;
|
|
2
6
|
export declare const DEFAULT_GLOBAL_OPTIONS: {
|
|
3
7
|
headers: Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGlD,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;CAIlC,CAAC"}
|
package/lib/utils/constants.js
CHANGED
|
@@ -2,27 +2,8 @@ import { isBrowser } from "./helpers.js";
|
|
|
2
2
|
import { version } from "./version.js";
|
|
3
3
|
let JS_ENV = '';
|
|
4
4
|
JS_ENV = 'undefined' != typeof Deno ? 'deno' : 'undefined' != typeof document ? 'web' : 'undefined' != typeof navigator && 'ReactNative' === navigator.product ? 'react-native' : 'node';
|
|
5
|
-
const getToken = ()=>{
|
|
6
|
-
if (!isBrowser()) return '';
|
|
7
|
-
const host = window.location.host.replace(/\./g, '-');
|
|
8
|
-
const urlParams = new URLSearchParams(window.location.search);
|
|
9
|
-
const token = urlParams.get('suda_token');
|
|
10
|
-
if (token) {
|
|
11
|
-
localStorage.setItem(`suda_token_${host}`, `${token}`);
|
|
12
|
-
const url = new URL(window.location.href);
|
|
13
|
-
const params = new URLSearchParams(url.search);
|
|
14
|
-
params.delete('suda_token');
|
|
15
|
-
url.search = params.toString();
|
|
16
|
-
history.replaceState(null, '', url.toString());
|
|
17
|
-
return token;
|
|
18
|
-
}
|
|
19
|
-
const localToken = localStorage.getItem(`suda_token_${host}`);
|
|
20
|
-
if (localToken) return localToken;
|
|
21
|
-
return '';
|
|
22
|
-
};
|
|
23
5
|
const DEFAULT_HEADERS = {
|
|
24
6
|
'X-Client-Info': `dataloom-js-${JS_ENV}/${version}`,
|
|
25
|
-
'X-Suda-Token': getToken(),
|
|
26
7
|
'X-Suda-Referer': isBrowser() ? window.location.href : ''
|
|
27
8
|
};
|
|
28
9
|
const DEFAULT_GLOBAL_OPTIONS = {
|
package/lib/utils/fetch.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type RateLimiter from '../RateLimiter';
|
|
2
2
|
import type { Fetch } from './types';
|
|
3
3
|
export declare const resolveFetch: (customFetch?: Fetch) => Fetch;
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* 同源 cookie 鉴权下的 fetch 包装:
|
|
6
|
+
* - 默认注入 `credentials: 'include'`,保证浏览器自动携带 session cookie;
|
|
7
|
+
* 若调用方显式传入 `'omit'` / `'same-origin'`,遵循其值(兜底逻辑只在缺省时生效)。
|
|
8
|
+
* - 保留 RateLimiter 的 429 短路能力。
|
|
9
|
+
*/
|
|
10
|
+
export declare const withCredentialsFetch: (rateLimiter?: RateLimiter, customFetch?: Fetch) => Fetch;
|
|
5
11
|
//# sourceMappingURL=fetch.d.ts.map
|
package/lib/utils/fetch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,eAAO,MAAM,YAAY,GAAI,cAAc,KAAK,KAAG,KAQlD,CAAC;AAEF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,eAAO,MAAM,YAAY,GAAI,cAAc,KAAK,KAAG,KAQlD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,cAAc,WAAW,EACzB,cAAc,KAAK,KAClB,KAgBF,CAAC"}
|
package/lib/utils/fetch.js
CHANGED
|
@@ -3,19 +3,18 @@ const resolveFetch = (customFetch)=>{
|
|
|
3
3
|
_fetch = customFetch ? customFetch : fetch;
|
|
4
4
|
return (input, init)=>_fetch(input, init);
|
|
5
5
|
};
|
|
6
|
-
const
|
|
6
|
+
const withCredentialsFetch = (rateLimiter, customFetch)=>{
|
|
7
7
|
const resolvedFetch = resolveFetch(customFetch);
|
|
8
8
|
return async (input, init)=>{
|
|
9
9
|
if (rateLimiter && !rateLimiter.canRequest()) return Promise.resolve(new Response(`{"limit": ${rateLimiter.maxRequests}}`, {
|
|
10
10
|
status: 429,
|
|
11
11
|
statusText: 'Too Many Requests'
|
|
12
12
|
}));
|
|
13
|
-
const
|
|
14
|
-
if (!headers.has('apikey') && dataloomKey) headers.set('apikey', dataloomKey);
|
|
13
|
+
const credentials = init?.credentials ?? 'include';
|
|
15
14
|
return resolvedFetch(input, {
|
|
16
15
|
...init,
|
|
17
|
-
|
|
16
|
+
credentials
|
|
18
17
|
});
|
|
19
18
|
};
|
|
20
19
|
};
|
|
21
|
-
export {
|
|
20
|
+
export { resolveFetch, withCredentialsFetch };
|