@cardano-sdk/cardano-services-client 0.20.2 → 0.20.3

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,9 +1,6 @@
1
1
  import { HttpProviderConfigPaths, Provider } from '@cardano-sdk/core';
2
2
  import { Logger } from 'ts-log';
3
- import { AxiosAdapter, AxiosRequestConfig, AxiosResponseTransformer } from 'axios';
4
- declare type ResponseTransformers<T> = {
5
- [K in keyof T]?: AxiosResponseTransformer;
6
- };
3
+ import { AxiosAdapter, AxiosRequestConfig } from 'axios';
7
4
  export interface HttpProviderConfig<T extends Provider> {
8
5
  apiVersion: string;
9
6
  baseUrl: string;
@@ -12,12 +9,10 @@ export interface HttpProviderConfig<T extends Provider> {
12
9
  mapError?: (error: unknown, method: keyof T) => unknown;
13
10
  adapter?: AxiosAdapter;
14
11
  logger: Logger;
15
- responseTransformers?: ResponseTransformers<T>;
16
12
  serviceSlug: string;
17
13
  }
18
14
  export declare type CreateHttpProviderConfig<T extends Provider> = Pick<HttpProviderConfig<T>, 'baseUrl' | 'adapter' | 'logger'> & {
19
15
  apiVersion?: string;
20
16
  };
21
- export declare const createHttpProvider: <T extends Provider>({ apiVersion, baseUrl, axiosOptions, mapError, paths, adapter, logger, responseTransformers, serviceSlug }: HttpProviderConfig<T>) => T;
22
- export {};
17
+ export declare const createHttpProvider: <T extends Provider>({ apiVersion, baseUrl, axiosOptions, mapError, paths, adapter, logger, serviceSlug }: HttpProviderConfig<T>) => T;
23
18
  //# sourceMappingURL=HttpProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpProvider.d.ts","sourceRoot":"","sources":["../../src/HttpProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAkC,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAK1F,aAAK,oBAAoB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,wBAAwB;CAAE,CAAC;AAE7E,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,QAAQ;IAEpD,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAElC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IASlC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;IAGxD,OAAO,CAAC,EAAE,YAAY,CAAC;IAGvB,MAAM,EAAE,MAAM,CAAC;IAGf,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAG/C,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,oBAAY,wBAAwB,CAAC,CAAC,SAAS,QAAQ,IAAI,IAAI,CAC7D,kBAAkB,CAAC,CAAC,CAAC,EACrB,SAAS,GAAG,SAAS,GAAG,QAAQ,CACjC,GAAG;IAEF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAYF,eAAO,MAAM,kBAAkB,8JAoE3B,CAAC"}
1
+ {"version":3,"file":"HttpProvider.d.ts","sourceRoot":"","sources":["../../src/HttpProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAkC,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAc,EAAE,YAAY,EAAE,kBAAkB,EAAqD,MAAM,OAAO,CAAC;AAKnH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,QAAQ;IAEpD,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAElC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IASlC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;IAGxD,OAAO,CAAC,EAAE,YAAY,CAAC;IAGvB,MAAM,EAAE,MAAM,CAAC;IAGf,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,oBAAY,wBAAwB,CAAC,CAAC,SAAS,QAAQ,IAAI,IAAI,CAC7D,kBAAkB,CAAC,CAAC,CAAC,EACrB,SAAS,GAAG,SAAS,GAAG,QAAQ,CACjC,GAAG;IAEF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAsBF,eAAO,MAAM,kBAAkB,wIA2D3B,CAAC"}
@@ -9,13 +9,24 @@ const util_1 = require("@cardano-sdk/util");
9
9
  const axios_1 = __importDefault(require("axios"));
10
10
  const package_json_1 = __importDefault(require("../package.json"));
11
11
  const isEmptyResponse = (response) => response === '';
12
- const createHttpProvider = ({ apiVersion, baseUrl, axiosOptions, mapError, paths, adapter, logger, responseTransformers, serviceSlug }) => new Proxy({}, {
12
+ const transformResponse = (v) => {
13
+ if (!v)
14
+ return v;
15
+ if (typeof v === 'string')
16
+ v = JSON.parse(v);
17
+ return (0, util_1.fromSerializableObject)(v, { errorTypes: [core_1.ProviderError] });
18
+ };
19
+ const transformRequest = (data) => {
20
+ if (!data)
21
+ return data;
22
+ return JSON.stringify((0, util_1.toSerializableObject)(data));
23
+ };
24
+ const createHttpProvider = ({ apiVersion, baseUrl, axiosOptions, mapError, paths, adapter, logger, serviceSlug }) => new Proxy({}, {
13
25
  get(_, prop) {
14
26
  if (prop === 'then')
15
27
  return;
16
28
  const method = prop;
17
29
  const urlPath = paths[method];
18
- const transformResponse = responseTransformers && responseTransformers[method] ? responseTransformers[method] : (v) => v;
19
30
  if (!urlPath)
20
31
  throw new core_1.ProviderError(core_1.ProviderFailure.NotImplemented, `HttpProvider missing path for '${prop.toString()}'`);
21
32
  return async (...args) => {
@@ -27,32 +38,26 @@ const createHttpProvider = ({ apiVersion, baseUrl, axiosOptions, mapError, paths
27
38
  data: { ...args[0] },
28
39
  headers: {
29
40
  ...axiosOptions?.headers,
41
+ 'Content-Type': 'application/json',
30
42
  'Version-Api': JSON.stringify(apiVersion),
31
43
  'Version-Software': package_json_1.default.version
32
44
  },
33
45
  method: 'post',
34
46
  responseType: 'json',
47
+ transformRequest,
48
+ transformResponse,
35
49
  url: urlPath
36
50
  };
37
51
  logger.debug(`Sending ${req.method} request to ${req.baseURL}${req.url} with data:`);
38
52
  logger.debug(req.data);
39
53
  const axiosInstance = axios_1.default.create(req);
40
- axiosInstance.interceptors.request.use((value) => {
41
- if (value.data)
42
- value.data = (0, util_1.toSerializableObject)(value.data);
43
- return value;
44
- });
45
- axiosInstance.interceptors.response.use((value) => ({
46
- ...value,
47
- data: transformResponse((0, util_1.fromSerializableObject)(value.data, { errorTypes: [core_1.ProviderError] }))
48
- }));
49
54
  const response = (await axiosInstance.request(req)).data;
50
55
  return !isEmptyResponse(response) ? response : undefined;
51
56
  }
52
57
  catch (error) {
53
58
  if (axios_1.default.isAxiosError(error)) {
54
59
  if (error.response) {
55
- const typedError = (0, util_1.fromSerializableObject)(error.response.data, { errorTypes: [core_1.ProviderError] });
60
+ const typedError = error.response.data;
56
61
  if (mapError)
57
62
  return mapError(typedError, method);
58
63
  throw new core_1.ProviderError(core_1.ProviderFailure.Unknown, typedError);
@@ -1 +1 @@
1
- {"version":3,"file":"HttpProvider.js","sourceRoot":"","sources":["../../src/HttpProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpProvider.js","sourceRoot":"","sources":["../../src/HttpProvider.ts"],"names":[],"mappings":"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"}