quidproquo-actionprocessor-node 0.0.56 → 0.0.57

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.
@@ -13,7 +13,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const quidproquo_core_1 = require("quidproquo-core");
16
+ const mime_types_1 = require("mime-types");
16
17
  const axios_1 = __importDefault(require("axios"));
18
+ const getAxiosResponseType = (responseType) => {
19
+ if (responseType === 'binary') {
20
+ return 'arraybuffer';
21
+ }
22
+ return 'json';
23
+ };
24
+ const transformResponse = (payload, response) => {
25
+ if (payload.responseType === 'binary') {
26
+ const mimeType = (payload.headers || {})['content-type'] || 'application/octet-stream';
27
+ return Object.assign(Object.assign({}, response), { data: {
28
+ base64Data: Buffer.from(response.data).toString('base64'),
29
+ mimetype: mimeType,
30
+ // TODO: We could get a filename from Content-Disposition header
31
+ filename: `file.${(0, mime_types_1.extension)(mimeType)}`,
32
+ } });
33
+ }
34
+ return response;
35
+ };
17
36
  const axiosInstance = axios_1.default.create({
18
37
  timeout: 10000,
19
38
  headers: {
@@ -26,56 +45,63 @@ const processNetworkRequestGet = (payload) => __awaiter(void 0, void 0, void 0,
26
45
  baseURL: payload.basePath,
27
46
  headers: payload.headers,
28
47
  params: payload.params,
48
+ responseType: getAxiosResponseType(payload.responseType),
29
49
  });
30
- return response;
50
+ return transformResponse(payload, response);
31
51
  });
32
52
  const processNetworkRequestPost = (payload) => __awaiter(void 0, void 0, void 0, function* () {
33
53
  const response = yield axiosInstance.post(payload.url, payload.body, {
34
54
  baseURL: payload.basePath,
35
55
  headers: payload.headers,
36
56
  params: payload.params,
57
+ responseType: getAxiosResponseType(payload.responseType),
37
58
  });
38
- return response;
59
+ return transformResponse(payload, response);
39
60
  });
40
61
  const processNetworkRequestDelete = (payload) => __awaiter(void 0, void 0, void 0, function* () {
41
62
  const response = yield axiosInstance.delete(payload.url, {
42
63
  baseURL: payload.basePath,
43
64
  headers: payload.headers,
44
65
  params: payload.params,
66
+ responseType: getAxiosResponseType(payload.responseType),
45
67
  });
46
- return response;
68
+ return transformResponse(payload, response);
47
69
  });
48
70
  const processNetworkRequestHead = (payload) => __awaiter(void 0, void 0, void 0, function* () {
49
71
  const response = yield axiosInstance.head(payload.url, {
50
72
  baseURL: payload.basePath,
51
73
  headers: payload.headers,
52
74
  params: payload.params,
75
+ responseType: getAxiosResponseType(payload.responseType),
53
76
  });
54
- return response;
77
+ return transformResponse(payload, response);
55
78
  });
56
79
  const processNetworkRequestOptions = (payload) => __awaiter(void 0, void 0, void 0, function* () {
57
80
  const response = yield axiosInstance.options(payload.url, {
58
81
  baseURL: payload.basePath,
59
82
  headers: payload.headers,
60
83
  params: payload.params,
84
+ responseType: getAxiosResponseType(payload.responseType),
61
85
  });
62
- return response;
86
+ return transformResponse(payload, response);
63
87
  });
64
88
  const processNetworkRequestPut = (payload) => __awaiter(void 0, void 0, void 0, function* () {
65
89
  const response = yield axiosInstance.put(payload.url, payload.body, {
66
90
  baseURL: payload.basePath,
67
91
  headers: payload.headers,
68
92
  params: payload.params,
93
+ responseType: getAxiosResponseType(payload.responseType),
69
94
  });
70
- return response;
95
+ return transformResponse(payload, response);
71
96
  });
72
97
  const processNetworkRequestPatch = (payload) => __awaiter(void 0, void 0, void 0, function* () {
73
98
  const response = yield axiosInstance.patch(payload.url, payload.body, {
74
99
  baseURL: payload.basePath,
75
100
  headers: payload.headers,
76
101
  params: payload.params,
102
+ responseType: getAxiosResponseType(payload.responseType),
77
103
  });
78
- return response;
104
+ return transformResponse(payload, response);
79
105
  });
80
106
  const processNetworkRequestConnect = (payload) => __awaiter(void 0, void 0, void 0, function* () {
81
107
  throw new Error('Function not implemented.');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quidproquo-actionprocessor-node",
3
- "version": "0.0.56",
3
+ "version": "0.0.57",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.js",
@@ -26,10 +26,12 @@
26
26
  "homepage": "https://github.com/joe-coady/quidproquo#readme",
27
27
  "dependencies": {
28
28
  "axios": "^1.2.1",
29
+ "mime-types": "^2.1.35",
29
30
  "quidproquo-core": "*",
30
31
  "uuid": "^9.0.0"
31
32
  },
32
33
  "devDependencies": {
34
+ "@types/mime-types": "^2.1.1",
33
35
  "@types/uuid": "^9.0.0",
34
36
  "quidproquo-tsconfig": "*",
35
37
  "typescript": "^4.9.3"