@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"}
@@ -3,13 +3,24 @@ import { fromSerializableObject, toSerializableObject } from '@cardano-sdk/util'
3
3
  import axios from 'axios';
4
4
  import packageJson from '../package.json';
5
5
  const isEmptyResponse = (response) => response === '';
6
- export const createHttpProvider = ({ apiVersion, baseUrl, axiosOptions, mapError, paths, adapter, logger, responseTransformers, serviceSlug }) => new Proxy({}, {
6
+ const transformResponse = (v) => {
7
+ if (!v)
8
+ return v;
9
+ if (typeof v === 'string')
10
+ v = JSON.parse(v);
11
+ return fromSerializableObject(v, { errorTypes: [ProviderError] });
12
+ };
13
+ const transformRequest = (data) => {
14
+ if (!data)
15
+ return data;
16
+ return JSON.stringify(toSerializableObject(data));
17
+ };
18
+ export const createHttpProvider = ({ apiVersion, baseUrl, axiosOptions, mapError, paths, adapter, logger, serviceSlug }) => new Proxy({}, {
7
19
  get(_, prop) {
8
20
  if (prop === 'then')
9
21
  return;
10
22
  const method = prop;
11
23
  const urlPath = paths[method];
12
- const transformResponse = responseTransformers && responseTransformers[method] ? responseTransformers[method] : (v) => v;
13
24
  if (!urlPath)
14
25
  throw new ProviderError(ProviderFailure.NotImplemented, `HttpProvider missing path for '${prop.toString()}'`);
15
26
  return async (...args) => {
@@ -21,32 +32,26 @@ export const createHttpProvider = ({ apiVersion, baseUrl, axiosOptions, mapError
21
32
  data: { ...args[0] },
22
33
  headers: {
23
34
  ...axiosOptions?.headers,
35
+ 'Content-Type': 'application/json',
24
36
  'Version-Api': JSON.stringify(apiVersion),
25
37
  'Version-Software': packageJson.version
26
38
  },
27
39
  method: 'post',
28
40
  responseType: 'json',
41
+ transformRequest,
42
+ transformResponse,
29
43
  url: urlPath
30
44
  };
31
45
  logger.debug(`Sending ${req.method} request to ${req.baseURL}${req.url} with data:`);
32
46
  logger.debug(req.data);
33
47
  const axiosInstance = axios.create(req);
34
- axiosInstance.interceptors.request.use((value) => {
35
- if (value.data)
36
- value.data = toSerializableObject(value.data);
37
- return value;
38
- });
39
- axiosInstance.interceptors.response.use((value) => ({
40
- ...value,
41
- data: transformResponse(fromSerializableObject(value.data, { errorTypes: [ProviderError] }))
42
- }));
43
48
  const response = (await axiosInstance.request(req)).data;
44
49
  return !isEmptyResponse(response) ? response : undefined;
45
50
  }
46
51
  catch (error) {
47
52
  if (axios.isAxiosError(error)) {
48
53
  if (error.response) {
49
- const typedError = fromSerializableObject(error.response.data, { errorTypes: [ProviderError] });
54
+ const typedError = error.response.data;
50
55
  if (mapError)
51
56
  return mapError(typedError, method);
52
57
  throw new ProviderError(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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"}