@pact-foundation/pact 10.0.0-beta.57 → 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.
Files changed (58) hide show
  1. package/CHANGELOG.md +26 -2
  2. package/CODE_OF_CONDUCT.md +1 -1
  3. package/README.md +12 -9
  4. package/package.json +4 -4
  5. package/src/common/logger.js +5 -1
  6. package/src/common/logger.js.map +1 -1
  7. package/src/common/net.js +5 -1
  8. package/src/common/net.js.map +1 -1
  9. package/src/common/request.d.ts +0 -1
  10. package/src/common/request.js +77 -40
  11. package/src/common/request.js.map +1 -1
  12. package/src/dsl/publisher.spec.js +5 -1
  13. package/src/dsl/publisher.spec.js.map +1 -1
  14. package/src/dsl/verifier/index.js +5 -1
  15. package/src/dsl/verifier/index.js.map +1 -1
  16. package/src/dsl/verifier/proxy/index.js +5 -1
  17. package/src/dsl/verifier/proxy/index.js.map +1 -1
  18. package/src/dsl/verifier/proxy/parseBody.d.ts +7 -0
  19. package/src/dsl/verifier/proxy/parseBody.js +22 -0
  20. package/src/dsl/verifier/proxy/parseBody.js.map +1 -0
  21. package/src/dsl/verifier/proxy/parseBody.spec.d.ts +1 -0
  22. package/src/dsl/verifier/proxy/parseBody.spec.js +118 -0
  23. package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -0
  24. package/src/dsl/verifier/proxy/proxy.js +19 -4
  25. package/src/dsl/verifier/proxy/proxy.js.map +1 -1
  26. package/src/dsl/verifier/proxy/stateHandler/index.js +5 -1
  27. package/src/dsl/verifier/proxy/stateHandler/index.js.map +1 -1
  28. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +5 -1
  29. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -1
  30. package/src/dsl/verifier/proxy/types.d.ts +1 -0
  31. package/src/dsl/verifier/verifier.js +8 -1
  32. package/src/dsl/verifier/verifier.js.map +1 -1
  33. package/src/dsl/verifier/verifier.spec.js +5 -1
  34. package/src/dsl/verifier/verifier.spec.js.map +1 -1
  35. package/src/httpPact/index.js +5 -1
  36. package/src/httpPact/index.js.map +1 -1
  37. package/src/index.js +5 -1
  38. package/src/index.js.map +1 -1
  39. package/src/messageConsumerPact.js +5 -1
  40. package/src/messageConsumerPact.js.map +1 -1
  41. package/src/messageProviderPact.js +5 -1
  42. package/src/messageProviderPact.js.map +1 -1
  43. package/src/messageProviderPact.spec.js +5 -1
  44. package/src/messageProviderPact.spec.js.map +1 -1
  45. package/src/v3/index.js +5 -1
  46. package/src/v3/index.js.map +1 -1
  47. package/src/v3/matchers.d.ts +5 -5
  48. package/src/v3/matchers.spec.js +5 -1
  49. package/src/v3/matchers.spec.js.map +1 -1
  50. package/src/v3/pact.d.ts +1 -1
  51. package/src/v3/pact.js +28 -10
  52. package/src/v3/pact.js.map +1 -1
  53. package/src/v3/xml/xmlElement.spec.js +5 -1
  54. package/src/v3/xml/xmlElement.spec.js.map +1 -1
  55. package/test/helper.js +5 -1
  56. package/test/helper.js.map +1 -1
  57. package/v3/index.js +5 -1
  58. package/v3/index.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,32 @@
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
+
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)
15
+
16
+
17
+ ### Fixes and Improvements
18
+
19
+ * content type detection now considers matchers ([069da08](https://github.com/pact-foundation/pact-js/commit/069da08b22c748cc0dd929ea28e2cfac564b9a8f))
20
+ * e2e tests were verifying the wrong pacts ([1999f2d](https://github.com/pact-foundation/pact-js/commit/1999f2d0f243861c802b886bfb50b8e94f6d7915))
21
+ * infer content type from headers, prevent non JSON-able state parameters ([2a6acf3](https://github.com/pact-foundation/pact-js/commit/2a6acf3674707982cfe41318ebe87201064241ad))
22
+ * update to latest core ([51c4c52](https://github.com/pact-foundation/pact-js/commit/51c4c52c95e55c0eca812386a0c3390bf40d3dc2))
23
+
24
+ ## [10.0.0-beta.58](https://github.com/pact-foundation/pact-js/compare/v10.0.0-beta.57...v10.0.0-beta.58) (2022-02-23)
25
+
26
+
27
+ ### Fixes and Improvements
28
+
29
+ * pin to latest beta version of core in examples ([d92c793](https://github.com/pact-foundation/pact-js/commit/d92c793fca7bf354ca8e275bf3b936111bd4eaad))
30
+
5
31
  ## [10.0.0-beta.57](https://github.com/pact-foundation/pact-js/compare/v10.0.0-beta.56...v10.0.0-beta.57) (2022-02-23)
6
32
 
7
33
 
@@ -1207,8 +1233,6 @@ different state phases.
1207
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))
1208
1234
 
1209
1235
  ### [9.15.2](https://github.com/pact-foundation/pact-js/compare/v9.15.1...v9.15.2) (2021-02-28)
1210
- >>>>>>> master
1211
-
1212
1236
 
1213
1237
  ### Fixes and Improvements
1214
1238
 
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
55
55
  ## Enforcement
56
56
 
57
57
  Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at pact-support@googlegroups.com. All
58
+ reported by contacting the project team at pact-foundation@googlegroups.com. All
59
59
  complaints will be reviewed and investigated and will result in a response that
60
60
  is deemed necessary and appropriate to the circumstances. The project team is
61
61
  obligated to maintain confidentiality with regard to the reporter of an incident.
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
- - [Pact publishing options](#pact-publishing-options)
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 Karma Jasmine, 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).
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.57",
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",
@@ -97,9 +97,10 @@
97
97
  ]
98
98
  },
99
99
  "dependencies": {
100
- "@pact-foundation/pact-core": "13.4.1-beta.17",
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.5",
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",
@@ -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.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
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":"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"}
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.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
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];
@@ -1 +1 @@
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"}
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"}
@@ -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
  }
@@ -1,26 +1,49 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
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 Popsicle = __importStar(require("popsicle/dist/common"));
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
- var opts = {
52
- body: body,
53
- headers: {
54
- 'Content-Type': 'application/json',
55
- 'X-Pact-Mock-Service': 'true',
56
- },
57
- method: method,
58
- timeout: 10000,
59
- transport: this.transport,
60
- url: url,
61
- };
62
- return Popsicle.request(opts).then(function (res) {
63
- if (res.status >= 200 && res.status < 400) {
64
- return res.body;
65
- }
66
- return Promise.reject(res.body);
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":";;;;;;;;;;;;;;;;;;;;;;AAAA,6DAAiD;AAGjD,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;QACmB,cAAS,GAAG,QAAQ,CAAC,eAAe,CAAC;YACpD,aAAa,EAAE,QAAQ;YACvB,kBAAkB,EAAE,KAAK;YACzB,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IAsBL,CAAC;IApBQ,sBAAI,GAAX,UAAY,MAAkB,EAAE,GAAW,EAAE,IAAa;QACxD,IAAM,IAAI,GAAG;YACX,IAAI,MAAA;YACJ,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,qBAAqB,EAAE,MAAM;aAC9B;YACD,MAAM,QAAA;YACN,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,KAAA;SACJ,CAAC;QAEF,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,GAAa;YAC/C,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;gBACzC,OAAO,GAAG,CAAC,IAAI,CAAC;aACjB;YACD,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IACH,cAAC;AAAD,CAAC,AA3BD,IA2BC;AA3BY,0BAAO"}
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.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
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":";;;;;;;;;;;;;;;;;;;;;;;;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
+ {"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.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
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":";;;;;;;;;;;;AAAA,6CAA2B"}
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.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
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":";;;;;;;;;;;;AAAA,0CAAwB"}
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"}