@things-factory/integration-lmd 4.3.642 → 4.3.647

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.
@@ -5,40 +5,49 @@ const integration_base_1 = require("@things-factory/integration-base");
5
5
  const ENDPOINT = 'http://ec2-52-76-226-223.ap-southeast-1.compute.amazonaws.com';
6
6
  class LmdMiddleware {
7
7
  async post(path, data) {
8
- let jsonData = JSON.stringify(data);
8
+ const jsonData = JSON.stringify(data);
9
9
  const response = await fetch(ENDPOINT + path, {
10
- method: 'post',
10
+ method: 'POST',
11
11
  headers: {
12
12
  accept: 'application/json',
13
13
  'Content-Type': 'application/json'
14
14
  },
15
15
  body: jsonData
16
16
  });
17
- if (!response.ok) {
18
- let errorResponse;
19
- try {
20
- errorResponse = await response.json();
21
- }
22
- catch (e) {
23
- errorResponse = response === null || response === void 0 ? void 0 : response.statusText;
24
- }
25
- try {
26
- (0, integration_base_1.createPayloadLog)('error-lmd-middleware', path, jsonData, errorResponse, {
27
- state: { domain: null }
28
- });
29
- }
30
- catch (e) { }
31
- let error = JSON.stringify(errorResponse);
32
- throw new Error(error);
33
- }
34
- let result = await response.json();
17
+ // Read the full response body as text first
18
+ const rawText = await response.text();
19
+ // Try to parse it as JSON
20
+ let parsedResponse;
21
+ let isJson = true;
35
22
  try {
36
- (0, integration_base_1.createPayloadLog)('lmd-middleware', path, jsonData, result, {
23
+ parsedResponse = JSON.parse(rawText);
24
+ }
25
+ catch (e) {
26
+ isJson = false;
27
+ parsedResponse = rawText; // fallback to plain text (HTML or error page)
28
+ }
29
+ // Log everything to the console for visibility
30
+ console.log('[Payload Log]', {
31
+ path,
32
+ request: jsonData,
33
+ rawResponse: rawText,
34
+ parsed: parsedResponse,
35
+ isJson,
36
+ status: response.status,
37
+ ok: response.ok
38
+ });
39
+ // If request failed
40
+ if (!response.ok || !isJson) {
41
+ (0, integration_base_1.createPayloadLog)('error-lmd-middleware', path, jsonData, parsedResponse, {
37
42
  state: { domain: null }
38
43
  });
44
+ throw new Error(typeof parsedResponse === 'string' ? parsedResponse : JSON.stringify(parsedResponse));
39
45
  }
40
- catch (e) { }
41
- return result;
46
+ // If request succeeded
47
+ (0, integration_base_1.createPayloadLog)('lmd-middleware', path, jsonData, parsedResponse, {
48
+ state: { domain: null }
49
+ });
50
+ return parsedResponse;
42
51
  }
43
52
  async get(path, data) {
44
53
  const qs = Object.entries(data)
@@ -1 +1 @@
1
- {"version":3,"file":"lmd-middleware.js","sourceRoot":"","sources":["../../../server/controllers/lmd-middleware/lmd-middleware.ts"],"names":[],"mappings":";;;AAAA,uEAAmE;AAEnE,MAAM,QAAQ,GAAG,+DAA+D,CAAA;AAEhF,MAAa,aAAa;IACxB,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,IAAS;QAChC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAEnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,GAAG,IAAI,EAAE;YAC5C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,IAAI,aAAa,CAAA;YACjB,IAAI;gBACF,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;aACtC;YAAC,OAAO,CAAC,EAAE;gBACV,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAA;aACrC;YACD,IAAI;gBACF,IAAA,mCAAgB,EAAC,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE;oBACtE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;iBACxB,CAAC,CAAA;aACH;YAAC,OAAO,CAAC,EAAE,GAAG;YACf,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;YACzC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;SACvB;QACD,IAAI,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,IAAI;YACF,IAAA,mCAAgB,EAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE;gBACzD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CAAC,CAAA;SACH;QAAC,OAAO,CAAC,EAAE,GAAG;QACf,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,IAAS;QAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aAC5B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,QAAQ,CAAA;SACf;QACD,IAAI,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAtDD,sCAsDC"}
1
+ {"version":3,"file":"lmd-middleware.js","sourceRoot":"","sources":["../../../server/controllers/lmd-middleware/lmd-middleware.ts"],"names":[],"mappings":";;;AAAA,uEAAmE;AAEnE,MAAM,QAAQ,GAAG,+DAA+D,CAAA;AAEhF,MAAa,aAAa;IACxB,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,IAAS;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAErC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,GAAG,IAAI,EAAE;YAC5C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAA;QAEF,4CAA4C;QAC5C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAErC,0BAA0B;QAC1B,IAAI,cAAmB,CAAA;QACvB,IAAI,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI;YACF,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;SACrC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,GAAG,KAAK,CAAA;YACd,cAAc,GAAG,OAAO,CAAA,CAAC,8CAA8C;SACxE;QAED,+CAA+C;QAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE;YAC3B,IAAI;YACJ,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,OAAO;YACpB,MAAM,EAAE,cAAc;YACtB,MAAM;YACN,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,EAAE,EAAE,QAAQ,CAAC,EAAE;SAChB,CAAC,CAAA;QAEF,oBAAoB;QACpB,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAA,mCAAgB,EAAC,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE;gBACvE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CAAC,CAAA;YACF,MAAM,IAAI,KAAK,CAAC,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAA;SACtG;QAED,uBAAuB;QACvB,IAAA,mCAAgB,EAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE;YACjE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAA;QAEF,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,IAAS;QAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aAC5B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,QAAQ,CAAA;SACf;QACD,IAAI,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAvED,sCAuEC"}
@@ -5,40 +5,44 @@ const integration_base_1 = require("@things-factory/integration-base");
5
5
  const ENDPOINT = 'http://ec2-52-76-226-223.ap-southeast-1.compute.amazonaws.com';
6
6
  class LmdMiddlewareV2 {
7
7
  async post(path, data) {
8
- let jsonData = JSON.stringify(data);
8
+ const jsonData = JSON.stringify(data);
9
9
  const response = await fetch(ENDPOINT + path, {
10
- method: 'post',
10
+ method: 'POST',
11
11
  headers: {
12
12
  accept: 'application/json',
13
13
  'Content-Type': 'application/json'
14
14
  },
15
15
  body: jsonData
16
16
  });
17
- if (!response.ok) {
18
- let errorResponse;
19
- try {
20
- errorResponse = await response.json();
21
- }
22
- catch (e) {
23
- errorResponse = response === null || response === void 0 ? void 0 : response.statusText;
24
- }
25
- try {
26
- (0, integration_base_1.createPayloadLog)('error-lmd-middleware', path, jsonData, errorResponse, {
27
- state: { domain: null }
28
- });
29
- }
30
- catch (e) { }
31
- let error = JSON.stringify(errorResponse);
32
- throw new Error(error);
33
- }
34
- let result = await response.json();
17
+ const rawText = await response.text();
18
+ let parsedResponse;
19
+ let isJson = true;
35
20
  try {
36
- (0, integration_base_1.createPayloadLog)('lmd-middleware', path, jsonData, result, {
21
+ parsedResponse = JSON.parse(rawText);
22
+ }
23
+ catch (error) {
24
+ isJson = false;
25
+ parsedResponse = rawText;
26
+ }
27
+ console.log('[Payload Log]', {
28
+ path,
29
+ request: jsonData,
30
+ rawResponse: rawText,
31
+ parsed: parsedResponse,
32
+ isJson,
33
+ status: response.status,
34
+ ok: response.ok
35
+ });
36
+ if (!response.ok || !isJson) {
37
+ (0, integration_base_1.createPayloadLog)('error-lmd-middleware', path, jsonData, parsedResponse, {
37
38
  state: { domain: null }
38
39
  });
40
+ throw new Error(typeof parsedResponse === 'string' ? parsedResponse : JSON.stringify(parsedResponse));
39
41
  }
40
- catch (e) { }
41
- return result;
42
+ (0, integration_base_1.createPayloadLog)('lmd-middleware', path, jsonData, parsedResponse, {
43
+ state: { domain: null }
44
+ });
45
+ return parsedResponse;
42
46
  }
43
47
  async get(path, data) {
44
48
  const qs = Object.entries(data)
@@ -1 +1 @@
1
- {"version":3,"file":"lmd-middleware-v2.js","sourceRoot":"","sources":["../../../server/controllers/lmd-middleware-v2/lmd-middleware-v2.ts"],"names":[],"mappings":";;;AAAA,uEAAmE;AAEnE,MAAM,QAAQ,GAAG,+DAA+D,CAAA;AAEhF,MAAa,eAAe;IAC1B,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,IAAS;QAChC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAEnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,GAAG,IAAI,EAAE;YAC5C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,IAAI,aAAa,CAAA;YACjB,IAAI;gBACF,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;aACtC;YAAC,OAAO,CAAC,EAAE;gBACV,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAA;aACrC;YACD,IAAI;gBACF,IAAA,mCAAgB,EAAC,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE;oBACtE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;iBACxB,CAAC,CAAA;aACH;YAAC,OAAO,CAAC,EAAE,GAAG;YACf,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;YACzC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;SACvB;QACD,IAAI,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,IAAI;YACF,IAAA,mCAAgB,EAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE;gBACzD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CAAC,CAAA;SACH;QAAC,OAAO,CAAC,EAAE,GAAG;QACf,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,IAAS;QAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aAC5B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,QAAQ,CAAA;SACf;QACD,IAAI,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAtDD,0CAsDC"}
1
+ {"version":3,"file":"lmd-middleware-v2.js","sourceRoot":"","sources":["../../../server/controllers/lmd-middleware-v2/lmd-middleware-v2.ts"],"names":[],"mappings":";;;AAAA,uEAAmE;AAEnE,MAAM,QAAQ,GAAG,+DAA+D,CAAA;AAEhF,MAAa,eAAe;IAC1B,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,IAAS;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAErC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,GAAG,IAAI,EAAE;YAC5C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAErC,IAAI,cAAmB,CAAA;QACvB,IAAI,MAAM,GAAG,IAAI,CAAA;QAEjB,IAAI;YACF,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;SACrC;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,GAAG,KAAK,CAAA;YACd,cAAc,GAAG,OAAO,CAAA;SACzB;QAED,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE;YAC3B,IAAI;YACJ,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,OAAO;YACpB,MAAM,EAAE,cAAc;YACtB,MAAM;YACN,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,EAAE,EAAE,QAAQ,CAAC,EAAE;SAChB,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAA,mCAAgB,EAAC,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE;gBACvE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CAAC,CAAA;YACF,MAAM,IAAI,KAAK,CAAC,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAA;SACtG;QAED,IAAA,mCAAgB,EAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE;YACjE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAA;QAEF,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,IAAS;QAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aAC5B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,QAAQ,CAAA;SACf;QACD,IAAI,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAnED,0CAmEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/integration-lmd",
3
- "version": "4.3.642",
3
+ "version": "4.3.647",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -49,5 +49,5 @@
49
49
  "nock": "^13.0.2",
50
50
  "should": "^13.2.3"
51
51
  },
52
- "gitHead": "7796a1553e51d21f017f3746f80f25cae9e1c695"
52
+ "gitHead": "bd3ff365e2f8fd74c2259298a6f7b17cf1040af1"
53
53
  }
@@ -4,38 +4,55 @@ const ENDPOINT = 'http://ec2-52-76-226-223.ap-southeast-1.compute.amazonaws.com'
4
4
 
5
5
  export class LmdMiddleware {
6
6
  async post(path: string, data: any) {
7
- let jsonData = JSON.stringify(data)
7
+ const jsonData = JSON.stringify(data)
8
8
 
9
9
  const response = await fetch(ENDPOINT + path, {
10
- method: 'post',
10
+ method: 'POST',
11
11
  headers: {
12
12
  accept: 'application/json',
13
13
  'Content-Type': 'application/json'
14
14
  },
15
15
  body: jsonData
16
16
  })
17
- if (!response.ok) {
18
- let errorResponse
19
- try {
20
- errorResponse = await response.json()
21
- } catch (e) {
22
- errorResponse = response?.statusText
23
- }
24
- try {
25
- createPayloadLog('error-lmd-middleware', path, jsonData, errorResponse, {
26
- state: { domain: null }
27
- })
28
- } catch (e) { }
29
- let error = JSON.stringify(errorResponse)
30
- throw new Error(error)
31
- }
32
- let result = await response.json()
17
+
18
+ // Read the full response body as text first
19
+ const rawText = await response.text()
20
+
21
+ // Try to parse it as JSON
22
+ let parsedResponse: any
23
+ let isJson = true
33
24
  try {
34
- createPayloadLog('lmd-middleware', path, jsonData, result, {
25
+ parsedResponse = JSON.parse(rawText)
26
+ } catch (e) {
27
+ isJson = false
28
+ parsedResponse = rawText // fallback to plain text (HTML or error page)
29
+ }
30
+
31
+ // Log everything to the console for visibility
32
+ console.log('[Payload Log]', {
33
+ path,
34
+ request: jsonData,
35
+ rawResponse: rawText,
36
+ parsed: parsedResponse,
37
+ isJson,
38
+ status: response.status,
39
+ ok: response.ok
40
+ })
41
+
42
+ // If request failed
43
+ if (!response.ok || !isJson) {
44
+ createPayloadLog('error-lmd-middleware', path, jsonData, parsedResponse, {
35
45
  state: { domain: null }
36
46
  })
37
- } catch (e) { }
38
- return result
47
+ throw new Error(typeof parsedResponse === 'string' ? parsedResponse : JSON.stringify(parsedResponse))
48
+ }
49
+
50
+ // If request succeeded
51
+ createPayloadLog('lmd-middleware', path, jsonData, parsedResponse, {
52
+ state: { domain: null }
53
+ })
54
+
55
+ return parsedResponse
39
56
  }
40
57
 
41
58
  async get(path: string, data: any) {
@@ -4,38 +4,51 @@ const ENDPOINT = 'http://ec2-52-76-226-223.ap-southeast-1.compute.amazonaws.com'
4
4
 
5
5
  export class LmdMiddlewareV2 {
6
6
  async post(path: string, data: any) {
7
- let jsonData = JSON.stringify(data)
7
+ const jsonData = JSON.stringify(data)
8
8
 
9
9
  const response = await fetch(ENDPOINT + path, {
10
- method: 'post',
10
+ method: 'POST',
11
11
  headers: {
12
12
  accept: 'application/json',
13
13
  'Content-Type': 'application/json'
14
14
  },
15
15
  body: jsonData
16
16
  })
17
- if (!response.ok) {
18
- let errorResponse
19
- try {
20
- errorResponse = await response.json()
21
- } catch (e) {
22
- errorResponse = response?.statusText
23
- }
24
- try {
25
- createPayloadLog('error-lmd-middleware', path, jsonData, errorResponse, {
26
- state: { domain: null }
27
- })
28
- } catch (e) { }
29
- let error = JSON.stringify(errorResponse)
30
- throw new Error(error)
31
- }
32
- let result = await response.json()
17
+
18
+ const rawText = await response.text()
19
+
20
+ let parsedResponse: any
21
+ let isJson = true
22
+
33
23
  try {
34
- createPayloadLog('lmd-middleware', path, jsonData, result, {
24
+ parsedResponse = JSON.parse(rawText)
25
+ } catch (error) {
26
+ isJson = false
27
+ parsedResponse = rawText
28
+ }
29
+
30
+ console.log('[Payload Log]', {
31
+ path,
32
+ request: jsonData,
33
+ rawResponse: rawText,
34
+ parsed: parsedResponse,
35
+ isJson,
36
+ status: response.status,
37
+ ok: response.ok
38
+ })
39
+
40
+ if (!response.ok || !isJson) {
41
+ createPayloadLog('error-lmd-middleware', path, jsonData, parsedResponse, {
35
42
  state: { domain: null }
36
43
  })
37
- } catch (e) { }
38
- return result
44
+ throw new Error(typeof parsedResponse === 'string' ? parsedResponse : JSON.stringify(parsedResponse))
45
+ }
46
+
47
+ createPayloadLog('lmd-middleware', path, jsonData, parsedResponse, {
48
+ state: { domain: null }
49
+ })
50
+
51
+ return parsedResponse
39
52
  }
40
53
 
41
54
  async get(path: string, data: any) {