@pact-foundation/pact 10.0.0-beta.59 → 10.0.0-beta.60
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.
- package/CHANGELOG.md +9 -2
- package/README.md +12 -9
- package/package.json +3 -3
- package/src/common/logger.js +5 -1
- package/src/common/logger.js.map +1 -1
- package/src/common/net.js +5 -1
- package/src/common/net.js.map +1 -1
- package/src/common/request.d.ts +0 -1
- package/src/common/request.js +77 -40
- package/src/common/request.js.map +1 -1
- package/src/dsl/publisher.spec.js +5 -1
- package/src/dsl/publisher.spec.js.map +1 -1
- package/src/dsl/verifier/index.js +5 -1
- package/src/dsl/verifier/index.js.map +1 -1
- package/src/dsl/verifier/proxy/index.js +5 -1
- package/src/dsl/verifier/proxy/index.js.map +1 -1
- package/src/dsl/verifier/proxy/parseBody.d.ts +7 -0
- package/src/dsl/verifier/proxy/parseBody.js +22 -0
- package/src/dsl/verifier/proxy/parseBody.js.map +1 -0
- package/src/dsl/verifier/proxy/parseBody.spec.d.ts +1 -0
- package/src/dsl/verifier/proxy/parseBody.spec.js +118 -0
- package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -0
- package/src/dsl/verifier/proxy/proxy.js +19 -4
- package/src/dsl/verifier/proxy/proxy.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/index.js +5 -1
- package/src/dsl/verifier/proxy/stateHandler/index.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +5 -1
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -1
- package/src/dsl/verifier/proxy/types.d.ts +1 -0
- package/src/dsl/verifier/verifier.js +8 -1
- package/src/dsl/verifier/verifier.js.map +1 -1
- package/src/dsl/verifier/verifier.spec.js +5 -1
- package/src/dsl/verifier/verifier.spec.js.map +1 -1
- package/src/httpPact/index.js +5 -1
- package/src/httpPact/index.js.map +1 -1
- package/src/index.js +5 -1
- package/src/index.js.map +1 -1
- package/src/messageConsumerPact.js +5 -1
- package/src/messageConsumerPact.js.map +1 -1
- package/src/messageProviderPact.js +5 -1
- package/src/messageProviderPact.js.map +1 -1
- package/src/messageProviderPact.spec.js +5 -1
- package/src/messageProviderPact.spec.js.map +1 -1
- package/src/v3/index.js +5 -1
- package/src/v3/index.js.map +1 -1
- package/src/v3/matchers.d.ts +5 -5
- package/src/v3/matchers.spec.js +5 -1
- package/src/v3/matchers.spec.js.map +1 -1
- package/src/v3/xml/xmlElement.spec.js +5 -1
- package/src/v3/xml/xmlElement.spec.js.map +1 -1
- package/test/helper.js +5 -1
- package/test/helper.js.map +1 -1
- package/v3/index.js +5 -1
- package/v3/index.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [10.0.0-beta.60](https://github.com/pact-foundation/pact-js/compare/v10.0.0-beta.59...v10.0.0-beta.60) (2022-06-26)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* modify request body inside of verifier v3 ([#875](https://github.com/pact-foundation/pact-js/issues/875)) ([0fd1a34](https://github.com/pact-foundation/pact-js/commit/0fd1a349dbcc596543d7872c89e6171b9b1cabde))
|
|
11
|
+
* remove pact-web and karma ([2c57330](https://github.com/pact-foundation/pact-js/commit/2c57330f5779cd345ff6213fcd468dd34126823e))
|
|
12
|
+
* support customising the proxy host ([d281d4f](https://github.com/pact-foundation/pact-js/commit/d281d4f7d94b45a98c27ed5fd5f06a5c7649b710))
|
|
13
|
+
|
|
5
14
|
## [10.0.0-beta.59](https://github.com/pact-foundation/pact-js/compare/v10.0.0-beta.58...v10.0.0-beta.59) (2022-04-01)
|
|
6
15
|
|
|
7
16
|
|
|
@@ -1224,8 +1233,6 @@ different state phases.
|
|
|
1224
1233
|
* **pact-web-types:** Fix issue where typescript types were not exposed in pact-web ([d529082](https://github.com/pact-foundation/pact-js/commit/d529082f0b1e7d969ebdedae091adc54ad4be464))
|
|
1225
1234
|
|
|
1226
1235
|
### [9.15.2](https://github.com/pact-foundation/pact-js/compare/v9.15.1...v9.15.2) (2021-02-28)
|
|
1227
|
-
>>>>>>> master
|
|
1228
|
-
|
|
1229
1236
|
|
|
1230
1237
|
### Fixes and Improvements
|
|
1231
1238
|
|
package/README.md
CHANGED
|
@@ -55,7 +55,7 @@ Read [Getting started with Pact] for more information for beginners.
|
|
|
55
55
|
- [Publishing Pacts to a Broker](#publishing-pacts-to-a-broker)
|
|
56
56
|
- [Publish in npm scripts](#publish-in-npm-scripts)
|
|
57
57
|
- [Publish in a custom script](#publish-in-a-custom-script)
|
|
58
|
-
|
|
58
|
+
- [Pact publishing options](#pact-publishing-options)
|
|
59
59
|
- [Publishing Verification Results to a Pact Broker](#publishing-verification-results-to-a-pact-broker)
|
|
60
60
|
- [Asynchronous API Testing](#asynchronous-api-testing)
|
|
61
61
|
- [Consumer](#consumer)
|
|
@@ -72,14 +72,13 @@ Read [Getting started with Pact] for more information for beginners.
|
|
|
72
72
|
- [Examples](#examples)
|
|
73
73
|
- [HTTP APIs](#http-apis)
|
|
74
74
|
- [Asynchronous APIs](#asynchronous-apis)
|
|
75
|
+
- [Using Pact in non-Node environments such as Karma](#using-pact-in-non-node-environments-such-as-karma)
|
|
75
76
|
- [Pact JS V3](#pact-js-v3)
|
|
76
77
|
- [Using the V3 matching rules](#using-the-v3-matching-rules)
|
|
77
78
|
- [Array contains matcher](#array-contains-matcher)
|
|
78
79
|
- [Provider State Injected Values](#provider-state-injected-values)
|
|
79
80
|
- [Using Pact with XML](#using-pact-with-xml)
|
|
80
81
|
- [Verifying providers with VerifierV3](#verifying-providers-with-verifierv3)
|
|
81
|
-
- [Verification Options with VerifierV3](#verification-options-with-verifierv3)
|
|
82
|
-
- [Request Filters](#request-filters)
|
|
83
82
|
- [Provider state callbacks](#provider-state-callbacks)
|
|
84
83
|
- [Debugging issues with Pact-JS V3](#debugging-issues-with-pact-js-v3)
|
|
85
84
|
- [Debugging](#debugging)
|
|
@@ -104,10 +103,7 @@ Read [Getting started with Pact] for more information for beginners.
|
|
|
104
103
|
```
|
|
105
104
|
npm i -S @pact-foundation/pact@latest
|
|
106
105
|
```
|
|
107
|
-
<<<<<<< HEAD
|
|
108
|
-
=======
|
|
109
106
|
|
|
110
|
-
>>>>>>> master
|
|
111
107
|
Make sure the `ignore-scripts` option is disabled, pact uses npm scripts to download further dependencies.
|
|
112
108
|
|
|
113
109
|
### Do Not Track
|
|
@@ -204,7 +200,7 @@ The first step is to create a test for your API Consumer. The example below uses
|
|
|
204
200
|
1. Validate the expected interactions were made between your consumer and the Mock Service
|
|
205
201
|
1. Generate the pact(s)
|
|
206
202
|
|
|
207
|
-
Check out the `examples` folder for examples with
|
|
203
|
+
Check out the `examples` folder for examples with Mocha and Jest. The example below is taken from the [integration spec](https://github.com/pact-foundation/pact-js/blob/master/src/pact.integration.spec.ts).
|
|
208
204
|
|
|
209
205
|
```javascript
|
|
210
206
|
const path = require("path")
|
|
@@ -984,14 +980,21 @@ The workshop takes you through all of the key concepts using a React consumer an
|
|
|
984
980
|
- [Pact with TypeScript + Mocha](https://github.com/pact-foundation/pact-js/tree/master/examples/typescript)
|
|
985
981
|
- [Pact with Mocha](https://github.com/pact-foundation/pact-js/tree/master/examples/mocha)
|
|
986
982
|
- [Pact with GraphQL](https://github.com/pact-foundation/pact-js/tree/master/examples/graphql)
|
|
987
|
-
- [Pact with Karma + Jasmine](https://github.com/pact-foundation/pact-js/tree/master/examples/karma/jasmine)
|
|
988
|
-
- [Pact with Karma + Mocha](https://github.com/pact-foundation/pact-js/tree/master/examples/karma/mocha)
|
|
989
983
|
- [Pact with React + Jest](https://github.com/pact-foundation/pact-workshop-js)
|
|
990
984
|
|
|
991
985
|
### Asynchronous APIs
|
|
992
986
|
|
|
993
987
|
- [Asynchronous messages](https://github.com/pact-foundation/pact-js/tree/master/examples/messages)
|
|
994
988
|
- [Serverless](https://github.com/pact-foundation/pact-js/tree/master/examples/serverless)
|
|
989
|
+
|
|
990
|
+
## Using Pact in non-Node environments such as Karma
|
|
991
|
+
|
|
992
|
+
Pact requires a Node runtime to be able to start and stop Mock servers, write logs and other things.
|
|
993
|
+
|
|
994
|
+
However, when used within browser or non-Node based environments - such as with Karma or ng-test - this is not possible.
|
|
995
|
+
|
|
996
|
+
You will need a Node based test framework such as Jest or Mocha.
|
|
997
|
+
|
|
995
998
|
## Pact JS V3
|
|
996
999
|
|
|
997
1000
|
An initial beta version of Pact-JS with support for V3 specification features and XML matching has
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pact-foundation/pact",
|
|
3
|
-
"version": "10.0.0-beta.
|
|
3
|
+
"version": "10.0.0-beta.60",
|
|
4
4
|
"description": "Pact for all things Javascript",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
@@ -100,6 +100,7 @@
|
|
|
100
100
|
"@pact-foundation/pact-core": "^13.6.0",
|
|
101
101
|
"@types/bluebird": "^3.5.20",
|
|
102
102
|
"@types/express": "^4.17.11",
|
|
103
|
+
"axios": "^0.27.2",
|
|
103
104
|
"bluebird": "~3.5.1",
|
|
104
105
|
"body-parser": "^1.18.2",
|
|
105
106
|
"cli-color": "^1.1.0",
|
|
@@ -116,7 +117,6 @@
|
|
|
116
117
|
"lodash.omitby": "4.6.0",
|
|
117
118
|
"pino-pretty": "^6.0.0",
|
|
118
119
|
"pkginfo": "^0.4.1",
|
|
119
|
-
"popsicle": "^9.2.0",
|
|
120
120
|
"ramda": "^0.26.1",
|
|
121
121
|
"randexp": "^0.5.3"
|
|
122
122
|
},
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
"@types/chai": "^4.1.2",
|
|
131
131
|
"@types/chai-as-promised": "^7.1.1",
|
|
132
132
|
"@types/cli-color": "^0.3.29",
|
|
133
|
-
"@types/http-proxy": "^1.17.
|
|
133
|
+
"@types/http-proxy": "^1.17.9",
|
|
134
134
|
"@types/lodash": "^4.14.73",
|
|
135
135
|
"@types/lodash.isnil": "^4.0.3",
|
|
136
136
|
"@types/mocha": "^8.0.4",
|
package/src/common/logger.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
package/src/common/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,iFAA2D;AAE3D,mDAA6C;AAE7C,wEAAsD;AAEtD,IAAM,OAAO,GAAG,eAAQ,sBAAO,CAAE,CAAC;AAElC,kBAAe;IACb,SAAS,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,EAAlC,CAAkC;IACxE,KAAK,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAA9B,CAA8B;IAChE,IAAI,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAA7B,CAA6B;IAC9D,IAAI,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAA7B,CAA6B;IAC9D,KAAK,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAA9B,CAA8B;IAChE,KAAK,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAA9B,CAA8B;CACjE,CAAC"}
|
package/src/common/net.js
CHANGED
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
8
|
if (k2 === undefined) k2 = k;
|
|
9
|
-
Object.
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
10
14
|
}) : (function(o, m, k, k2) {
|
|
11
15
|
if (k2 === undefined) k2 = k;
|
|
12
16
|
o[k2] = m[k];
|
package/src/common/net.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net.js","sourceRoot":"","sources":["../../../src/common/net.ts"],"names":[],"mappings":";AAAA;;;;GAIG
|
|
1
|
+
{"version":3,"file":"net.js","sourceRoot":"","sources":["../../../src/common/net.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAA2B;AAC3B,qCAA+C;AAElC,QAAA,cAAc,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAEpE,IAAM,SAAS,GAAG,UAAC,IAAY,EAAE,IAAY;IAClD,OAAA,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QAC1B,IAAM,MAAM,GAAG,GAAG;aACf,YAAY,EAAE;aACd,MAAM,CAAC,EAAE,IAAI,MAAA,EAAE,IAAI,MAAA,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACvC,EAAE,CAAC,OAAO,EAAE,UAAC,CAAwB;YACpC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE;gBAC3B,MAAM,CAAC,IAAI,KAAK,CAAC,eAAQ,IAAI,wCAA8B,IAAI,CAAE,CAAC,CAAC,CAAC;aACrE;iBAAM;gBACL,MAAM,CAAC,CAAC,CAAC,CAAC;aACX;QACH,CAAC,CAAC;aACD,EAAE,CAAC,WAAW,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,cAAM,OAAA,OAAO,EAAE,EAAT,CAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AAdF,CAcE,CAAC;AAfQ,QAAA,SAAS,aAejB;AAEE,IAAM,eAAe,GAAG,UAAC,IAAY,EAAE,IAAY;IACxD,OAAA,OAAO,CAAC,OAAO,CACb,kBAAQ;SACL,GAAG,CACF,sBAAc;IACd,yEAAyE;IACzE,gEAAgE;IAChE,UAAC,CAAC,IAAK,OAAA,kBAAQ,CAAC,OAAO,CAAC,IAAA,iBAAS,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAA9C,CAA8C;IACrD,wGAAwG;IACxG,EAAE,WAAW,EAAE,CAAC,EAAE,CACnB;SACA,IAAI,CAAC,UAAC,WAAW;QAChB,oEAAoE;QACpE,IAAI,WAAW,CAAC,KAAK,CAAC,UAAC,UAAU,IAAK,OAAA,CAAC,UAAU,CAAC,WAAW,EAAE,EAAzB,CAAyB,CAAC,EAAE;YAChE,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,2BAAoB,IAAI,gCAA6B,CAAC,CACjE,CAAC;SACH;QAED,8EAA8E;QAC9E,OAAO,IAAA,iBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CACL;AArBD,CAqBC,CAAC;AAtBS,QAAA,eAAe,mBAsBxB"}
|
package/src/common/request.d.ts
CHANGED
|
@@ -17,6 +17,5 @@ export declare enum HTTPMethods {
|
|
|
17
17
|
}
|
|
18
18
|
export declare type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS' | 'COPY' | 'LOCK' | 'MKCOL' | 'MOVE' | 'PROPFIND' | 'PROPPATCH' | 'UNLOCK' | 'REPORT';
|
|
19
19
|
export declare class Request {
|
|
20
|
-
private readonly transport;
|
|
21
20
|
send(method: HTTPMethod, url: string, body?: string): Promise<string>;
|
|
22
21
|
}
|
package/src/common/request.js
CHANGED
|
@@ -1,26 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
40
|
};
|
|
21
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
42
|
exports.Request = exports.HTTPMethods = void 0;
|
|
23
|
-
var
|
|
43
|
+
var axios_1 = __importDefault(require("axios"));
|
|
44
|
+
var https_1 = __importDefault(require("https"));
|
|
45
|
+
var ramda_1 = require("ramda");
|
|
46
|
+
var logger_1 = __importDefault(require("./logger"));
|
|
24
47
|
var HTTPMethods;
|
|
25
48
|
(function (HTTPMethods) {
|
|
26
49
|
HTTPMethods["GET"] = "GET";
|
|
@@ -41,29 +64,43 @@ var HTTPMethods;
|
|
|
41
64
|
})(HTTPMethods = exports.HTTPMethods || (exports.HTTPMethods = {}));
|
|
42
65
|
var Request = /** @class */ (function () {
|
|
43
66
|
function Request() {
|
|
44
|
-
this.transport = Popsicle.createTransport({
|
|
45
|
-
maxBufferSize: Infinity,
|
|
46
|
-
rejectUnauthorized: false,
|
|
47
|
-
type: 'text',
|
|
48
|
-
});
|
|
49
67
|
}
|
|
50
68
|
Request.prototype.send = function (method, url, body) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
69
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
70
|
+
var res, e_1;
|
|
71
|
+
return __generator(this, function (_a) {
|
|
72
|
+
switch (_a.label) {
|
|
73
|
+
case 0:
|
|
74
|
+
_a.trys.push([0, 3, , 4]);
|
|
75
|
+
return [4 /*yield*/, (0, axios_1.default)(url, {
|
|
76
|
+
data: body,
|
|
77
|
+
headers: {
|
|
78
|
+
'Content-Type': 'application/json',
|
|
79
|
+
'X-Pact-Mock-Service': 'true',
|
|
80
|
+
},
|
|
81
|
+
httpsAgent: new https_1.default.Agent({
|
|
82
|
+
keepAlive: true,
|
|
83
|
+
rejectUnauthorized: false,
|
|
84
|
+
}),
|
|
85
|
+
method: method,
|
|
86
|
+
timeout: 10000,
|
|
87
|
+
url: url,
|
|
88
|
+
maxBodyLength: Infinity,
|
|
89
|
+
})];
|
|
90
|
+
case 1:
|
|
91
|
+
res = _a.sent();
|
|
92
|
+
if (res.status >= 200 && res.status < 400) {
|
|
93
|
+
return [2 /*return*/, res.data];
|
|
94
|
+
}
|
|
95
|
+
return [4 /*yield*/, Promise.reject(res.data)];
|
|
96
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
97
|
+
case 3:
|
|
98
|
+
e_1 = _a.sent();
|
|
99
|
+
logger_1.default.error("error making http request: ".concat(e_1.message));
|
|
100
|
+
return [2 /*return*/, Promise.reject((0, ramda_1.pathOr)(e_1.message, ['response', 'data'], e_1))];
|
|
101
|
+
case 4: return [2 /*return*/];
|
|
102
|
+
}
|
|
103
|
+
});
|
|
67
104
|
});
|
|
68
105
|
};
|
|
69
106
|
return Request;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/common/request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/common/request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,gDAA0B;AAC1B,+BAA+B;AAC/B,oDAA8B;AAE9B,IAAY,WAgBX;AAhBD,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,4BAAa,CAAA;IACb,0BAAW,CAAA;IACX,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;IACvB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;AACnB,CAAC,EAhBW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAgBtB;AAmBD;IAAA;IAgCA,CAAC;IA/Bc,sBAAI,GAAjB,UACE,MAAkB,EAClB,GAAW,EACX,IAAa;;;;;;;wBAGC,qBAAM,IAAA,eAAK,EAAC,GAAG,EAAE;gCAC3B,IAAI,EAAE,IAAI;gCACV,OAAO,EAAE;oCACP,cAAc,EAAE,kBAAkB;oCAClC,qBAAqB,EAAE,MAAM;iCAC9B;gCACD,UAAU,EAAE,IAAI,eAAK,CAAC,KAAK,CAAC;oCAC1B,SAAS,EAAE,IAAI;oCACf,kBAAkB,EAAE,KAAK;iCAC1B,CAAC;gCACF,MAAM,QAAA;gCACN,OAAO,EAAE,KAAK;gCACd,GAAG,KAAA;gCACH,aAAa,EAAE,QAAQ;6BACxB,CAAC,EAAA;;wBAdI,GAAG,GAAG,SAcV;wBAEF,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;4BACzC,sBAAO,GAAG,CAAC,IAAI,EAAC;yBACjB;wBACM,qBAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAA;4BAArC,sBAAO,SAA8B,EAAC;;;wBAEtC,gBAAM,CAAC,KAAK,CAAC,qCAA8B,GAAC,CAAC,OAAO,CAAE,CAAC,CAAC;wBACxD,sBAAO,OAAO,CAAC,MAAM,CAAC,IAAA,cAAM,EAAC,GAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,GAAC,CAAC,CAAC,EAAC;;;;;KAErE;IACH,cAAC;AAAD,CAAC,AAhCD,IAgCC;AAhCY,0BAAO"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisher.spec.js","sourceRoot":"","sources":["../../../src/dsl/publisher.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publisher.spec.js","sourceRoot":"","sources":["../../../src/dsl/publisher.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAoE;AACpE,yCAA6B;AAC7B,sEAA8C;AAE9C,yCAAwC;AAExC,IAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AAEjB,IAAA,MAAM,GAAK,IAAI,OAAT,CAAU;AAExB,QAAQ,CAAC,WAAW,EAAE;IACpB,QAAQ,CAAC,cAAc,EAAE;QACvB,EAAE,CAAC,mCAAmC,EAAE;YACtC,IAAM,CAAC,GAAG,IAAI,qBAAS,CAAC;gBACtB,eAAe,EAAE,OAAO;gBACxB,UAAU,EAAE,gBAAgB;gBAC5B,eAAe,EAAE,EAAE;aACpB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/dsl/verifier/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/dsl/verifier/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import * as http from 'http';
|
|
3
|
+
interface ReqBodyExtended extends http.IncomingMessage {
|
|
4
|
+
body?: Buffer | Record<string, unknown>;
|
|
5
|
+
}
|
|
6
|
+
export declare const parseBody: (proxyReq: http.ClientRequest, req: ReqBodyExtended) => void;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseBody = void 0;
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
|
+
var parseBody = function (proxyReq, req) {
|
|
6
|
+
if (!req.body || !Object.keys(req.body).length) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
var bodyData;
|
|
10
|
+
if (Buffer.isBuffer(req.body)) {
|
|
11
|
+
bodyData = req.body;
|
|
12
|
+
}
|
|
13
|
+
else if (typeof req.body === 'object') {
|
|
14
|
+
bodyData = JSON.stringify(req.body);
|
|
15
|
+
}
|
|
16
|
+
if (bodyData) {
|
|
17
|
+
proxyReq.setHeader('Content-Length', Buffer.byteLength(bodyData));
|
|
18
|
+
proxyReq.write(bodyData);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
exports.parseBody = parseBody;
|
|
22
|
+
//# sourceMappingURL=parseBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseBody.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/parseBody.ts"],"names":[],"mappings":";;;AAMA,8DAA8D;AACvD,IAAM,SAAS,GAAG,UACvB,QAA4B,EAC5B,GAAoB;IAEpB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;QAC9C,OAAO;KACR;IAED,IAAI,QAAQ,CAAC;IAEb,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC7B,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;KACrB;SAAM,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;QACvC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrC;IAED,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KAC1B;AACH,CAAC,CAAC;AApBW,QAAA,SAAS,aAoBpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
35
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
36
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
37
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
38
|
+
function step(op) {
|
|
39
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
40
|
+
while (_) try {
|
|
41
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
42
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
43
|
+
switch (op[0]) {
|
|
44
|
+
case 0: case 1: t = op; break;
|
|
45
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
46
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
47
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
48
|
+
default:
|
|
49
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
50
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
51
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
52
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
53
|
+
if (t[2]) _.ops.pop();
|
|
54
|
+
_.trys.pop(); continue;
|
|
55
|
+
}
|
|
56
|
+
op = body.call(thisArg, _);
|
|
57
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
58
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
62
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
63
|
+
};
|
|
64
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
|
+
var chai_1 = __importDefault(require("chai"));
|
|
66
|
+
var chai_as_promised_1 = __importDefault(require("chai-as-promised"));
|
|
67
|
+
var sinon_1 = __importDefault(require("sinon"));
|
|
68
|
+
var http = __importStar(require("http"));
|
|
69
|
+
var parseBody_1 = require("./parseBody");
|
|
70
|
+
chai_1.default.use(chai_as_promised_1.default);
|
|
71
|
+
var expect = chai_1.default.expect;
|
|
72
|
+
describe('Verifier', function () {
|
|
73
|
+
afterEach(function () {
|
|
74
|
+
sinon_1.default.restore();
|
|
75
|
+
});
|
|
76
|
+
describe('#parseBody', function () {
|
|
77
|
+
var proxyReq;
|
|
78
|
+
beforeEach(function () {
|
|
79
|
+
proxyReq = sinon_1.default.createStubInstance(http.ClientRequest);
|
|
80
|
+
});
|
|
81
|
+
describe('when request body exists', function () {
|
|
82
|
+
it('it writes the request if the body is a buffer', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
83
|
+
var req;
|
|
84
|
+
return __generator(this, function (_a) {
|
|
85
|
+
req = { body: '' };
|
|
86
|
+
req.body = Buffer.from('foo');
|
|
87
|
+
(0, parseBody_1.parseBody)(proxyReq, req);
|
|
88
|
+
expect(proxyReq.setHeader).to.have.been.called;
|
|
89
|
+
expect(proxyReq.write).to.have.been.called;
|
|
90
|
+
return [2 /*return*/];
|
|
91
|
+
});
|
|
92
|
+
}); });
|
|
93
|
+
it('it writes the request if the body is an object', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
94
|
+
var req;
|
|
95
|
+
return __generator(this, function (_a) {
|
|
96
|
+
req = { body: { foo: 'bar' } };
|
|
97
|
+
(0, parseBody_1.parseBody)(proxyReq, req);
|
|
98
|
+
expect(proxyReq.setHeader).to.have.been.called;
|
|
99
|
+
expect(proxyReq.write).to.have.been.called;
|
|
100
|
+
return [2 /*return*/];
|
|
101
|
+
});
|
|
102
|
+
}); });
|
|
103
|
+
});
|
|
104
|
+
describe('when request body does not exist', function () {
|
|
105
|
+
it('it does not invoke the request rewrite', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
106
|
+
var req;
|
|
107
|
+
return __generator(this, function (_a) {
|
|
108
|
+
req = 'foo';
|
|
109
|
+
(0, parseBody_1.parseBody)(proxyReq, req);
|
|
110
|
+
expect(proxyReq.setHeader).to.have.not.been.called;
|
|
111
|
+
expect(proxyReq.write).to.have.not.been.called;
|
|
112
|
+
return [2 /*return*/];
|
|
113
|
+
});
|
|
114
|
+
}); });
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
//# sourceMappingURL=parseBody.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseBody.spec.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/parseBody.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAwB;AACxB,sEAA8C;AAC9C,gDAA0B;AAC1B,yCAA6B;AAE7B,yCAAwC;AAExC,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AAEjB,IAAA,MAAM,GAAK,cAAI,OAAT,CAAU;AAExB,QAAQ,CAAC,UAAU,EAAE;IACnB,SAAS,CAAC;QACR,eAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE;QACrB,IAAI,QAAa,CAAC;QAElB,UAAU,CAAC;YACT,QAAQ,GAAG,eAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,0BAA0B,EAAE;YACnC,EAAE,CAAC,+CAA+C,EAAE;;;oBAC5C,GAAG,GAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;oBAC9B,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC9B,IAAA,qBAAS,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBAEzB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC/C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;;iBAC5C,CAAC,CAAC;YAEH,EAAE,CAAC,gDAAgD,EAAE;;;oBAC7C,GAAG,GAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC1C,IAAA,qBAAS,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBAEzB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC/C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;;iBAC5C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,kCAAkC,EAAE;YAC3C,EAAE,CAAC,wCAAwC,EAAE;;;oBACrC,GAAG,GAAQ,KAAK,CAAC;oBACvB,IAAA,qBAAS,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBAEzB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;oBACnD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;;;iBAChD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -31,6 +35,7 @@ var logger_1 = __importDefault(require("../../../common/logger"));
|
|
|
31
35
|
var stateHandler_1 = require("./stateHandler/stateHandler");
|
|
32
36
|
var hooks_1 = require("./hooks");
|
|
33
37
|
var tracer_1 = require("./tracer");
|
|
38
|
+
var parseBody_1 = require("./parseBody");
|
|
34
39
|
// Listens for the server start event
|
|
35
40
|
var waitForServerReady = function (server) {
|
|
36
41
|
return new Promise(function (resolve, reject) {
|
|
@@ -46,8 +51,17 @@ var createProxy = function (config, stateSetupPath) {
|
|
|
46
51
|
var app = (0, express_1.default)();
|
|
47
52
|
var proxy = new http_proxy_1.default();
|
|
48
53
|
logger_1.default.trace("Setting up state proxy with path: ".concat(stateSetupPath));
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
// NOTE: if you change any of these global middleware that consumes the body
|
|
55
|
+
// review the "proxyReq" event reader below
|
|
56
|
+
app.use(body_parser_1.default.json({
|
|
57
|
+
type: [
|
|
58
|
+
'application/json',
|
|
59
|
+
'application/json; charset=utf-8',
|
|
60
|
+
'application/json; charset=utf8',
|
|
61
|
+
],
|
|
62
|
+
}));
|
|
63
|
+
app.use(body_parser_1.default.urlencoded({ extended: true }));
|
|
64
|
+
app.use('/*', body_parser_1.default.raw({ type: '*/*' }));
|
|
51
65
|
(0, hooks_1.registerBeforeHook)(app, config, stateSetupPath);
|
|
52
66
|
(0, hooks_1.registerAfterHook)(app, config, stateSetupPath);
|
|
53
67
|
// Trace req/res logging
|
|
@@ -64,13 +78,14 @@ var createProxy = function (config, stateSetupPath) {
|
|
|
64
78
|
app.post(stateSetupPath, (0, stateHandler_1.createProxyStateHandler)(config));
|
|
65
79
|
// Proxy server will respond to Verifier process
|
|
66
80
|
app.all('/*', function (req, res) {
|
|
67
|
-
logger_1.default.debug("Proxying ".concat(req.path));
|
|
81
|
+
logger_1.default.debug("Proxying ".concat(req.method, ": ").concat(req.path));
|
|
68
82
|
proxy.web(req, res, {
|
|
69
83
|
changeOrigin: config.changeOrigin === true,
|
|
70
84
|
secure: config.validateSSL === true,
|
|
71
85
|
target: config.providerBaseUrl,
|
|
72
86
|
});
|
|
73
87
|
});
|
|
88
|
+
proxy.on('proxyReq', function (proxyReq, req) { return (0, parseBody_1.parseBody)(proxyReq, req); });
|
|
74
89
|
return http.createServer(app).listen();
|
|
75
90
|
};
|
|
76
91
|
exports.createProxy = createProxy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/proxy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/proxy.ts"],"names":[],"mappings":"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"}
|