@data-loom/service-js 0.3.0 → 0.3.1-alpha.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.
@@ -1,4 +1,4 @@
1
- import { DataloomServiceOptions, Fetch, FetchOptions, ServiceName, DataloomServiceResponse } from '../utils/types';
1
+ import { DataloomServiceOptions, Fetch, FetchOptions, ServiceName, DataloomServiceResponse, OnRequestErrorType } from '../utils/types';
2
2
  export default abstract class DataloomServiceBase {
3
3
  protected baseUrl: string;
4
4
  protected headers: {
@@ -9,6 +9,7 @@ export default abstract class DataloomServiceBase {
9
9
  protected serviceName: ServiceName;
10
10
  protected brandId: string;
11
11
  protected appId: string;
12
+ protected onRequestError?: (error: OnRequestErrorType) => void;
12
13
  constructor(baseUrl: string, options: DataloomServiceOptions);
13
14
  fetchData<T>(url: string, options: FetchOptions): Promise<DataloomServiceResponse<T>>;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataloomServiceBase.d.ts","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,sBAAsB,EACtB,KAAK,EACL,YAAY,EACZ,WAAW,EACX,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,mBAAmB;IAC/C,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7C,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB;IAiBtD,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;CA2G5F"}
1
+ {"version":3,"file":"DataloomServiceBase.d.ts","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,sBAAsB,EACtB,KAAK,EACL,YAAY,EACZ,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,mBAAmB;IAC/C,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7C,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;gBAEnD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB;IAkBtD,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;CA8H5F"}
@@ -18,6 +18,7 @@ class DataloomServiceBase {
18
18
  this.serviceName = types_1.ServiceName.DEFAULT;
19
19
  this.brandId = (0, helpers_1.serializeSessionBrandId)(options.brandName);
20
20
  this.appId = options.appId;
21
+ this.onRequestError = options.onRequestError;
21
22
  if (options.fetch) {
22
23
  this.fetch = options.fetch;
23
24
  }
@@ -29,6 +30,7 @@ class DataloomServiceBase {
29
30
  }
30
31
  }
31
32
  async fetchData(url, options) {
33
+ var _a, _b;
32
34
  const fetchUrl = `${this.baseUrl.toString()}${url}`;
33
35
  let traceId = -1;
34
36
  if (this.logger) {
@@ -61,10 +63,10 @@ class DataloomServiceBase {
61
63
  if (parsedBody.status_code && parsedBody.error_msg) {
62
64
  data = null;
63
65
  error = {
64
- code: parsedBody.status_code,
66
+ code: parsedBody.status_code || res.status,
65
67
  details: '',
66
- hint: null,
67
- message: parsedBody.error_msg,
68
+ hint: '',
69
+ message: parsedBody.error_msg || body,
68
70
  };
69
71
  }
70
72
  else {
@@ -75,6 +77,7 @@ class DataloomServiceBase {
75
77
  else {
76
78
  // statuscode >= 400
77
79
  const body = await res.text();
80
+ const parsedBody = JSON.parse(body);
78
81
  try {
79
82
  // 优先判断是否是429 rate limiter 拦截
80
83
  if (res.status === 429) {
@@ -87,19 +90,19 @@ class DataloomServiceBase {
87
90
  }
88
91
  else {
89
92
  error = {
90
- code: res.status,
91
- message: body,
93
+ code: parsedBody.status_code || res.status,
94
+ message: parsedBody.error_msg || body,
92
95
  details: '',
93
- hint: null,
96
+ hint: '',
94
97
  };
95
98
  }
96
99
  }
97
100
  catch (e) {
98
101
  error = {
99
- code: res.status,
100
- message: body,
102
+ code: parsedBody.status_code || res.status,
103
+ message: parsedBody.error_msg || body,
101
104
  details: '',
102
- hint: null,
105
+ hint: '',
103
106
  };
104
107
  data = null;
105
108
  status = 500;
@@ -112,23 +115,28 @@ class DataloomServiceBase {
112
115
  status,
113
116
  statusText,
114
117
  };
118
+ if (error) {
119
+ (_a = this.onRequestError) === null || _a === void 0 ? void 0 : _a.call(this, Object.assign(Object.assign({}, error), { status,
120
+ statusText }));
121
+ }
115
122
  if (this.logger) {
116
123
  (0, logger_1.logResponse)(traceId, serviceResponse, this.serviceName);
117
124
  }
118
125
  return serviceResponse;
119
126
  }
120
127
  catch (e) {
121
- return {
122
- data: null,
128
+ const internalError = {
123
129
  error: {
124
130
  code: 500,
125
131
  message: e === null || e === void 0 ? void 0 : e.message,
126
132
  details: '',
127
- hint: null,
133
+ hint: '',
128
134
  },
129
135
  status: 500,
130
136
  statusText: 'Dataloom Internal Error',
131
137
  };
138
+ (_b = this.onRequestError) === null || _b === void 0 ? void 0 : _b.call(this, Object.assign(Object.assign({}, internalError.error), { status: internalError.status, statusText: internalError.statusText }));
139
+ return Object.assign({ data: null }, internalError);
132
140
  }
133
141
  }
134
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataloomServiceBase.js","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataloomServiceBase.js","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":";;;;;AAAA,aAAa;AACb,uEAA8C;AAE9C,gDAAqD;AACrD,4CAA0D;AAC1D,8CAA4E;AAC5E,0CAOwB;AAExB,MAA8B,mBAAmB;IAU/C,YAAY,OAAe,EAAE,OAA+B;;QAC1D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,mCAAQ,OAAO,CAAC,OAAO,KAAE,mBAAmB,EAAE,IAAA,yBAAe,EAAC,iBAAiB,CAAC,GAAE,CAAC;QAC/F,IAAI,CAAC,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,mBAAW,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAA,iCAAuB,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAE7C,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;SAC5B;aAAM,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YACvC,IAAI,CAAC,KAAK,GAAG,oBAAS,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAI,GAAW,EAAE,OAAqB;;QACnD,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,EAAE,CAAC;QAEpD,IAAI,OAAO,GAAW,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,GAAG,2BAAgB,CAAC,IAAI,EAAE,CAAC;YAClC,IAAA,mBAAU,EAAC;gBACT,OAAO;gBACP,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,GAAG,EAAE,QAAQ;gBACb,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAC;SACJ;QAED,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACrC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,SAAS;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;aACnC,CAAC,CAAC;YAEH,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YACxB,IAAI,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YAEhC,IAAI,GAAG,CAAC,EAAE,EAAE;gBACV,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEpC,2BAA2B;gBAC3B,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,SAAS,EAAE;oBAClD,IAAI,GAAG,IAAI,CAAC;oBACZ,KAAK,GAAG;wBACN,IAAI,EAAE,UAAU,CAAC,WAAW,IAAI,GAAG,CAAC,MAAM;wBAC1C,OAAO,EAAE,EAAE;wBACX,IAAI,EAAE,EAAE;wBACR,OAAO,EAAE,UAAU,CAAC,SAAS,IAAI,IAAI;qBACtC,CAAC;iBACH;qBAAM;oBACL,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;oBACvB,KAAK,GAAG,IAAI,CAAC;iBACd;aACF;iBAAM;gBACL,oBAAoB;gBACpB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEpC,IAAI;oBACF,6BAA6B;oBAC7B,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;wBACtB,KAAK,GAAG;4BACN,IAAI,EAAE,GAAG;4BACT,OAAO,EAAE,8CAA8C;4BACvD,OAAO,EAAE,EAAE;4BACX,IAAI,EAAE,wBAAwB;yBAC/B,CAAC;qBACH;yBAAM;wBACL,KAAK,GAAG;4BACN,IAAI,EAAE,UAAU,CAAC,WAAW,IAAI,GAAG,CAAC,MAAM;4BAC1C,OAAO,EAAE,UAAU,CAAC,SAAS,IAAI,IAAI;4BACrC,OAAO,EAAE,EAAE;4BACX,IAAI,EAAE,EAAE;yBACT,CAAC;qBACH;iBACF;gBAAC,OAAO,CAAC,EAAE;oBACV,KAAK,GAAG;wBACN,IAAI,EAAE,UAAU,CAAC,WAAW,IAAI,GAAG,CAAC,MAAM;wBAC1C,OAAO,EAAE,UAAU,CAAC,SAAS,IAAI,IAAI;wBACrC,OAAO,EAAE,EAAE;wBACX,IAAI,EAAE,EAAE;qBACT,CAAC;oBACF,IAAI,GAAG,IAAI,CAAC;oBACZ,MAAM,GAAG,GAAG,CAAC;oBACb,UAAU,GAAG,yBAAyB,CAAC;iBACxC;aACF;YAED,MAAM,eAAe,GAAG;gBACtB,IAAI;gBACJ,KAAK;gBACL,MAAM;gBACN,UAAU;aACX,CAAC;YAEF,IAAI,KAAK,EAAE;gBACT,MAAA,IAAI,CAAC,cAAc,qFACd,KAAK,KACR,MAAM;oBACN,UAAU,IACV,CAAC;aACJ;YAED,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAA,oBAAW,EAAC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aACzD;YAED,OAAO,eAAe,CAAC;SACxB;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,aAAa,GAAG;gBACpB,KAAK,EAAE;oBACL,IAAI,EAAE,GAAG;oBACT,OAAO,EAAE,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO;oBACnB,OAAO,EAAE,EAAE;oBACX,IAAI,EAAE,EAAE;iBACT;gBACD,MAAM,EAAE,GAAG;gBACX,UAAU,EAAE,yBAAyB;aACtC,CAAC;YAEF,MAAA,IAAI,CAAC,cAAc,qFACd,aAAa,CAAC,KAAK,KACtB,MAAM,EAAE,aAAa,CAAC,MAAM,EAC5B,UAAU,EAAE,aAAa,CAAC,UAAU,IACpC,CAAC;YAEH,uBACE,IAAI,EAAE,IAAI,IACP,aAAa,EAChB;SACH;IACH,CAAC;CACF;AA1JD,sCA0JC"}
@@ -9,6 +9,16 @@ export type FetchOptions = {
9
9
  method: FetchMethod;
10
10
  body?: any;
11
11
  };
12
+ export interface DataloomServiceError {
13
+ code: number;
14
+ details: string;
15
+ hint: string | null;
16
+ message: string;
17
+ }
18
+ export type OnRequestErrorType = DataloomServiceError & {
19
+ status: number;
20
+ statusText: string;
21
+ };
12
22
  export type DataloomServiceOptions = {
13
23
  headers?: {
14
24
  [key: string]: string;
@@ -17,6 +27,7 @@ export type DataloomServiceOptions = {
17
27
  logger?: boolean;
18
28
  brandName: string;
19
29
  appId: string;
30
+ onRequestError?: (error: OnRequestErrorType) => void;
20
31
  };
21
32
  interface DataloomServiceBase {
22
33
  status: number;
@@ -27,12 +38,7 @@ export interface DataloomServiceSuccess<T> extends DataloomServiceBase {
27
38
  data: T;
28
39
  }
29
40
  export interface DataloomServiceFailure extends DataloomServiceBase {
30
- error: {
31
- code: number;
32
- details: string;
33
- hint: string | null;
34
- message: string;
35
- };
41
+ error: DataloomServiceError;
36
42
  data: null;
37
43
  }
38
44
  export type DataloomServiceResponse<T> = DataloomServiceSuccess<T> | DataloomServiceFailure;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,WAAW,iBAAiB;IAC5B,cAAc,oBAAoB;CACnC;AAED,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IAEnC,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAEpC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,sBAAsB,CAAC,CAAC,CAAE,SAAQ,mBAAmB;IACpE,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;CACT;AACD,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,WAAW,iBAAiB;IAC5B,cAAc,oBAAoB;CACnC;AAED,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GAAG;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IAEnC,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAEpC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,sBAAsB,CAAC,CAAC,CAAE,SAAQ,mBAAmB;IACpE,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;CACT;AACD,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,KAAK,EAAE,oBAAoB,CAAC;IAC5B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DataloomServiceOptions, Fetch, FetchOptions, ServiceName, DataloomServiceResponse } from '../utils/types';
1
+ import { DataloomServiceOptions, Fetch, FetchOptions, ServiceName, DataloomServiceResponse, OnRequestErrorType } from '../utils/types';
2
2
  export default abstract class DataloomServiceBase {
3
3
  protected baseUrl: string;
4
4
  protected headers: {
@@ -9,6 +9,7 @@ export default abstract class DataloomServiceBase {
9
9
  protected serviceName: ServiceName;
10
10
  protected brandId: string;
11
11
  protected appId: string;
12
+ protected onRequestError?: (error: OnRequestErrorType) => void;
12
13
  constructor(baseUrl: string, options: DataloomServiceOptions);
13
14
  fetchData<T>(url: string, options: FetchOptions): Promise<DataloomServiceResponse<T>>;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataloomServiceBase.d.ts","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,sBAAsB,EACtB,KAAK,EACL,YAAY,EACZ,WAAW,EACX,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,mBAAmB;IAC/C,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7C,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB;IAiBtD,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;CA2G5F"}
1
+ {"version":3,"file":"DataloomServiceBase.d.ts","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,sBAAsB,EACtB,KAAK,EACL,YAAY,EACZ,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,mBAAmB;IAC/C,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7C,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;gBAEnD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB;IAkBtD,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;CA8H5F"}
@@ -13,6 +13,7 @@ export default class DataloomServiceBase {
13
13
  this.serviceName = ServiceName.DEFAULT;
14
14
  this.brandId = serializeSessionBrandId(options.brandName);
15
15
  this.appId = options.appId;
16
+ this.onRequestError = options.onRequestError;
16
17
  if (options.fetch) {
17
18
  this.fetch = options.fetch;
18
19
  }
@@ -24,6 +25,7 @@ export default class DataloomServiceBase {
24
25
  }
25
26
  }
26
27
  async fetchData(url, options) {
28
+ var _a, _b;
27
29
  const fetchUrl = `${this.baseUrl.toString()}${url}`;
28
30
  let traceId = -1;
29
31
  if (this.logger) {
@@ -56,10 +58,10 @@ export default class DataloomServiceBase {
56
58
  if (parsedBody.status_code && parsedBody.error_msg) {
57
59
  data = null;
58
60
  error = {
59
- code: parsedBody.status_code,
61
+ code: parsedBody.status_code || res.status,
60
62
  details: '',
61
- hint: null,
62
- message: parsedBody.error_msg,
63
+ hint: '',
64
+ message: parsedBody.error_msg || body,
63
65
  };
64
66
  }
65
67
  else {
@@ -70,6 +72,7 @@ export default class DataloomServiceBase {
70
72
  else {
71
73
  // statuscode >= 400
72
74
  const body = await res.text();
75
+ const parsedBody = JSON.parse(body);
73
76
  try {
74
77
  // 优先判断是否是429 rate limiter 拦截
75
78
  if (res.status === 429) {
@@ -82,19 +85,19 @@ export default class DataloomServiceBase {
82
85
  }
83
86
  else {
84
87
  error = {
85
- code: res.status,
86
- message: body,
88
+ code: parsedBody.status_code || res.status,
89
+ message: parsedBody.error_msg || body,
87
90
  details: '',
88
- hint: null,
91
+ hint: '',
89
92
  };
90
93
  }
91
94
  }
92
95
  catch (e) {
93
96
  error = {
94
- code: res.status,
95
- message: body,
97
+ code: parsedBody.status_code || res.status,
98
+ message: parsedBody.error_msg || body,
96
99
  details: '',
97
- hint: null,
100
+ hint: '',
98
101
  };
99
102
  data = null;
100
103
  status = 500;
@@ -107,23 +110,28 @@ export default class DataloomServiceBase {
107
110
  status,
108
111
  statusText,
109
112
  };
113
+ if (error) {
114
+ (_a = this.onRequestError) === null || _a === void 0 ? void 0 : _a.call(this, Object.assign(Object.assign({}, error), { status,
115
+ statusText }));
116
+ }
110
117
  if (this.logger) {
111
118
  logResponse(traceId, serviceResponse, this.serviceName);
112
119
  }
113
120
  return serviceResponse;
114
121
  }
115
122
  catch (e) {
116
- return {
117
- data: null,
123
+ const internalError = {
118
124
  error: {
119
125
  code: 500,
120
126
  message: e === null || e === void 0 ? void 0 : e.message,
121
127
  details: '',
122
- hint: null,
128
+ hint: '',
123
129
  },
124
130
  status: 500,
125
131
  statusText: 'Dataloom Internal Error',
126
132
  };
133
+ (_b = this.onRequestError) === null || _b === void 0 ? void 0 : _b.call(this, Object.assign(Object.assign({}, internalError.error), { status: internalError.status, statusText: internalError.statusText }));
134
+ return Object.assign({ data: null }, internalError);
127
135
  }
128
136
  }
129
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataloomServiceBase.js","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataloomServiceBase.js","sourceRoot":"","sources":["../../../src/services/DataloomServiceBase.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,16 @@ export type FetchOptions = {
9
9
  method: FetchMethod;
10
10
  body?: any;
11
11
  };
12
+ export interface DataloomServiceError {
13
+ code: number;
14
+ details: string;
15
+ hint: string | null;
16
+ message: string;
17
+ }
18
+ export type OnRequestErrorType = DataloomServiceError & {
19
+ status: number;
20
+ statusText: string;
21
+ };
12
22
  export type DataloomServiceOptions = {
13
23
  headers?: {
14
24
  [key: string]: string;
@@ -17,6 +27,7 @@ export type DataloomServiceOptions = {
17
27
  logger?: boolean;
18
28
  brandName: string;
19
29
  appId: string;
30
+ onRequestError?: (error: OnRequestErrorType) => void;
20
31
  };
21
32
  interface DataloomServiceBase {
22
33
  status: number;
@@ -27,12 +38,7 @@ export interface DataloomServiceSuccess<T> extends DataloomServiceBase {
27
38
  data: T;
28
39
  }
29
40
  export interface DataloomServiceFailure extends DataloomServiceBase {
30
- error: {
31
- code: number;
32
- details: string;
33
- hint: string | null;
34
- message: string;
35
- };
41
+ error: DataloomServiceError;
36
42
  data: null;
37
43
  }
38
44
  export type DataloomServiceResponse<T> = DataloomServiceSuccess<T> | DataloomServiceFailure;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,WAAW,iBAAiB;IAC5B,cAAc,oBAAoB;CACnC;AAED,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IAEnC,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAEpC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,sBAAsB,CAAC,CAAC,CAAE,SAAQ,mBAAmB;IACpE,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;CACT;AACD,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,WAAW,iBAAiB;IAC5B,cAAc,oBAAoB;CACnC;AAED,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GAAG;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IAEnC,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAEpC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,sBAAsB,CAAC,CAAC,CAAE,SAAQ,mBAAmB;IACpE,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;CACT;AACD,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,KAAK,EAAE,oBAAoB,CAAC;IAC5B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@data-loom/service-js",
3
- "version": "0.3.0",
3
+ "version": "0.3.1-alpha.2",
4
4
  "description": "Dataloom service",
5
5
  "keywords": [
6
6
  "service",
@@ -33,7 +33,7 @@
33
33
  "test:types:watch": "run-s build && tsd --files 'test/**/*.test-d.ts' --watch"
34
34
  },
35
35
  "dependencies": {
36
- "@data-loom/node-fetch": "0.3.0"
36
+ "@data-loom/node-fetch": "0.3.1-alpha.2"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/jest": "~29.2.4",