@webex/test-helper-server 3.0.0-beta.3 → 3.0.0-beta.30

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/dist/cookies.js CHANGED
@@ -3,13 +3,14 @@
3
3
  /*!
4
4
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
5
5
  */
6
- var cookieParser = require("cookie-parser");
7
6
 
7
+ var cookieParser = require("cookie-parser");
8
8
  var express = require("express");
9
- /* eslint new-cap: [0] */
10
9
 
10
+ /* eslint new-cap: [0] */
11
+ var router = express.Router();
11
12
 
12
- var router = express.Router(); // Enable cookies
13
+ // Enable cookies
13
14
  // --------------
14
15
 
15
16
  router.use(cookieParser());
@@ -1 +1 @@
1
- {"version":3,"names":["cookieParser","require","express","router","Router","use","get","req","res","status","cookie","send","end","cookies","oreo","module","exports"],"sources":["cookies.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n\nconst cookieParser = require(`cookie-parser`);\nconst express = require(`express`);\n\n/* eslint new-cap: [0] */\nconst router = express.Router();\n\n// Enable cookies\n// --------------\n\nrouter.use(cookieParser());\n\nrouter.get(`/set`, (req, res) => {\n res.status(200).cookie(`oreo`, `double stuf`).send().end();\n});\n\nrouter.get(`/expect`, (req, res) => {\n if (req.cookies.oreo === `double stuf`) {\n res.status(200).send().end();\n }\n else {\n res.status(403).send().end();\n }\n});\n\nmodule.exports = router;\n"],"mappings":";;AAAA;AACA;AACA;AAGA,IAAMA,YAAY,GAAGC,OAAO,iBAA5B;;AACA,IAAMC,OAAO,GAAGD,OAAO,WAAvB;AAEA;;;AACA,IAAME,MAAM,GAAGD,OAAO,CAACE,MAAR,EAAf,C,CAEA;AACA;;AAEAD,MAAM,CAACE,GAAP,CAAWL,YAAY,EAAvB;AAEAG,MAAM,CAACG,GAAP,SAAmB,UAACC,GAAD,EAAMC,GAAN,EAAc;EAC/BA,GAAG,CAACC,MAAJ,CAAW,GAAX,EAAgBC,MAAhB,wBAA8CC,IAA9C,GAAqDC,GAArD;AACD,CAFD;AAIAT,MAAM,CAACG,GAAP,YAAsB,UAACC,GAAD,EAAMC,GAAN,EAAc;EAClC,IAAID,GAAG,CAACM,OAAJ,CAAYC,IAAZ,kBAAJ,EAAwC;IACtCN,GAAG,CAACC,MAAJ,CAAW,GAAX,EAAgBE,IAAhB,GAAuBC,GAAvB;EACD,CAFD,MAGK;IACHJ,GAAG,CAACC,MAAJ,CAAW,GAAX,EAAgBE,IAAhB,GAAuBC,GAAvB;EACD;AACF,CAPD;AASAG,MAAM,CAACC,OAAP,GAAiBb,MAAjB"}
1
+ {"version":3,"names":["cookieParser","require","express","router","Router","use","get","req","res","status","cookie","send","end","cookies","oreo","module","exports"],"sources":["cookies.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nconst cookieParser = require(`cookie-parser`);\nconst express = require(`express`);\n\n/* eslint new-cap: [0] */\nconst router = express.Router();\n\n// Enable cookies\n// --------------\n\nrouter.use(cookieParser());\n\nrouter.get(`/set`, (req, res) => {\n res.status(200).cookie(`oreo`, `double stuf`).send().end();\n});\n\nrouter.get(`/expect`, (req, res) => {\n if (req.cookies.oreo === `double stuf`) {\n res.status(200).send().end();\n } else {\n res.status(403).send().end();\n }\n});\n\nmodule.exports = router;\n"],"mappings":";;AAAA;AACA;AACA;;AAEA,IAAMA,YAAY,GAAGC,OAAO,iBAAiB;AAC7C,IAAMC,OAAO,GAAGD,OAAO,WAAW;;AAElC;AACA,IAAME,MAAM,GAAGD,OAAO,CAACE,MAAM,EAAE;;AAE/B;AACA;;AAEAD,MAAM,CAACE,GAAG,CAACL,YAAY,EAAE,CAAC;AAE1BG,MAAM,CAACG,GAAG,SAAS,UAACC,GAAG,EAAEC,GAAG,EAAK;EAC/BA,GAAG,CAACC,MAAM,CAAC,GAAG,CAAC,CAACC,MAAM,uBAAuB,CAACC,IAAI,EAAE,CAACC,GAAG,EAAE;AAC5D,CAAC,CAAC;AAEFT,MAAM,CAACG,GAAG,YAAY,UAACC,GAAG,EAAEC,GAAG,EAAK;EAClC,IAAID,GAAG,CAACM,OAAO,CAACC,IAAI,kBAAkB,EAAE;IACtCN,GAAG,CAACC,MAAM,CAAC,GAAG,CAAC,CAACE,IAAI,EAAE,CAACC,GAAG,EAAE;EAC9B,CAAC,MAAM;IACLJ,GAAG,CAACC,MAAM,CAAC,GAAG,CAAC,CAACE,IAAI,EAAE,CAACC,GAAG,EAAE;EAC9B;AACF,CAAC,CAAC;AAEFG,MAAM,CAACC,OAAO,GAAGb,MAAM"}
package/dist/files.js CHANGED
@@ -3,25 +3,20 @@
3
3
  /*!
4
4
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
5
5
  */
6
- var bodyParser = require("body-parser");
7
6
 
7
+ var bodyParser = require("body-parser");
8
8
  var express = require("express");
9
-
10
9
  var fs = require("fs");
11
-
12
10
  var mkdirp = require("mkdirp");
13
-
14
11
  var multer = require("multer");
15
-
16
12
  var path = require("path");
17
-
18
13
  var reflect = require("./reflect");
19
-
20
14
  var uuid = require("uuid");
21
- /* eslint new-cap: [0] */
22
15
 
16
+ /* eslint new-cap: [0] */
17
+ var router = express.Router();
23
18
 
24
- var router = express.Router(); // Configure Image processing
19
+ // Configure Image processing
25
20
  // -------------------------
26
21
 
27
22
  router.use(bodyParser.raw("image/*"));
@@ -34,17 +29,15 @@ router.post("/upload", function (req, res, next) {
34
29
  if (err) {
35
30
  return next(err);
36
31
  }
37
-
38
32
  var id = uuid.v4();
39
33
  var storeAt = path.join(uploadPath, id);
40
34
  var getFrom = "/files/download/".concat(id);
41
- /* eslint max-nested-callbacks: [0] */
42
35
 
36
+ /* eslint max-nested-callbacks: [0] */
43
37
  return fs.writeFile(storeAt, req.body, function (err2) {
44
38
  if (err2) {
45
39
  return next(err2);
46
40
  }
47
-
48
41
  return res.status(201).json({
49
42
  loc: getFrom
50
43
  }).end();
@@ -55,12 +48,10 @@ router.get("/download/:id", function (req, res, next) {
55
48
  if (!req.params.id) {
56
49
  return next(new Error("id param is required"));
57
50
  }
58
-
59
51
  return fs.readFile(path.join(uploadPath, req.params.id), function (err, data) {
60
52
  if (err) {
61
53
  return next(err);
62
54
  }
63
-
64
55
  return res.status(200).send(data).end();
65
56
  });
66
57
  });
package/dist/files.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["bodyParser","require","express","fs","mkdirp","multer","path","reflect","uuid","router","Router","use","raw","patch","post","put","uploadPath","process","env","PACKAGE","req","res","next","err","id","v4","storeAt","join","getFrom","writeFile","body","err2","status","json","loc","end","get","params","Error","readFile","data","send","storage","memoryStorage","upload","forEach","methodName","array","files","static","__dirname","module","exports"],"sources":["files.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n\nconst bodyParser = require(`body-parser`);\nconst express = require(`express`);\nconst fs = require(`fs`);\nconst mkdirp = require(`mkdirp`);\nconst multer = require(`multer`);\nconst path = require(`path`);\nconst reflect = require(`./reflect`);\nconst uuid = require(`uuid`);\n\n/* eslint new-cap: [0] */\nconst router = express.Router();\n\n// Configure Image processing\n// -------------------------\n\nrouter.use(bodyParser.raw(`image/*`));\n\nrouter.patch(`/reflect`, reflect);\nrouter.post(`/reflect`, reflect);\nrouter.put(`/reflect`, reflect);\n\nconst uploadPath = process.env.PACKAGE ? `.tmp/${process.env.PACKAGE}/files` : `.tmp/files`;\n\nrouter.post(`/upload`, (req, res, next) => {\n mkdirp(uploadPath, (err) => {\n if (err) {\n return next(err);\n }\n\n const id = uuid.v4();\n const storeAt = path.join(uploadPath, id);\n const getFrom = `/files/download/${id}`;\n\n /* eslint max-nested-callbacks: [0] */\n return fs.writeFile(storeAt, req.body, (err2) => {\n if (err2) {\n return next(err2);\n }\n\n return res\n .status(201)\n .json({\n loc: getFrom\n })\n .end();\n });\n });\n});\n\nrouter.get(`/download/:id`, (req, res, next) => {\n if (!req.params.id) {\n return next(new Error(`id param is required`));\n }\n\n return fs.readFile(path.join(uploadPath, req.params.id), (err, data) => {\n if (err) {\n return next(err);\n }\n\n return res.status(200).send(data).end();\n });\n});\n\nconst storage = multer.memoryStorage();\nconst upload = multer({storage});\n\n[`put`, `patch`, `post`].forEach((methodName) => {\n router[methodName](`/metadata`, upload.array(`files`), (req, res) => {\n res\n .status(200)\n .json(req.files)\n .end();\n });\n});\n\nrouter.use(`/get`, express.static(path.join(__dirname, `static`)));\n\nmodule.exports = router;\n"],"mappings":"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"}
1
+ {"version":3,"names":["bodyParser","require","express","fs","mkdirp","multer","path","reflect","uuid","router","Router","use","raw","patch","post","put","uploadPath","process","env","PACKAGE","req","res","next","err","id","v4","storeAt","join","getFrom","writeFile","body","err2","status","json","loc","end","get","params","Error","readFile","data","send","storage","memoryStorage","upload","forEach","methodName","array","files","static","__dirname","module","exports"],"sources":["files.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nconst bodyParser = require(`body-parser`);\nconst express = require(`express`);\nconst fs = require(`fs`);\nconst mkdirp = require(`mkdirp`);\nconst multer = require(`multer`);\nconst path = require(`path`);\nconst reflect = require(`./reflect`);\nconst uuid = require(`uuid`);\n\n/* eslint new-cap: [0] */\nconst router = express.Router();\n\n// Configure Image processing\n// -------------------------\n\nrouter.use(bodyParser.raw(`image/*`));\n\nrouter.patch(`/reflect`, reflect);\nrouter.post(`/reflect`, reflect);\nrouter.put(`/reflect`, reflect);\n\nconst uploadPath = process.env.PACKAGE ? `.tmp/${process.env.PACKAGE}/files` : `.tmp/files`;\n\nrouter.post(`/upload`, (req, res, next) => {\n mkdirp(uploadPath, (err) => {\n if (err) {\n return next(err);\n }\n\n const id = uuid.v4();\n const storeAt = path.join(uploadPath, id);\n const getFrom = `/files/download/${id}`;\n\n /* eslint max-nested-callbacks: [0] */\n return fs.writeFile(storeAt, req.body, (err2) => {\n if (err2) {\n return next(err2);\n }\n\n return res\n .status(201)\n .json({\n loc: getFrom,\n })\n .end();\n });\n });\n});\n\nrouter.get(`/download/:id`, (req, res, next) => {\n if (!req.params.id) {\n return next(new Error(`id param is required`));\n }\n\n return fs.readFile(path.join(uploadPath, req.params.id), (err, data) => {\n if (err) {\n return next(err);\n }\n\n return res.status(200).send(data).end();\n });\n});\n\nconst storage = multer.memoryStorage();\nconst upload = multer({storage});\n\n[`put`, `patch`, `post`].forEach((methodName) => {\n router[methodName](`/metadata`, upload.array(`files`), (req, res) => {\n res.status(200).json(req.files).end();\n });\n});\n\nrouter.use(`/get`, express.static(path.join(__dirname, `static`)));\n\nmodule.exports = router;\n"],"mappings":"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"}
package/dist/form.js CHANGED
@@ -3,15 +3,15 @@
3
3
  /*!
4
4
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
5
5
  */
6
- var bodyParser = require("body-parser");
7
6
 
7
+ var bodyParser = require("body-parser");
8
8
  var express = require("express");
9
-
10
9
  var reflect = require("./reflect");
11
- /* eslint new-cap: [0] */
12
10
 
11
+ /* eslint new-cap: [0] */
12
+ var router = express.Router();
13
13
 
14
- var router = express.Router(); // Configure Image processing
14
+ // Configure Image processing
15
15
  // -------------------------
16
16
 
17
17
  router.use(bodyParser.urlencoded({
package/dist/form.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["bodyParser","require","express","reflect","router","Router","use","urlencoded","extended","patch","put","post","module","exports"],"sources":["form.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n\nconst bodyParser = require(`body-parser`);\nconst express = require(`express`);\nconst reflect = require(`./reflect`);\n\n/* eslint new-cap: [0] */\nconst router = express.Router();\n\n// Configure Image processing\n// -------------------------\n\nrouter.use(bodyParser.urlencoded({extended: true}));\n\nrouter.patch(`/reflect`, reflect);\nrouter.put(`/reflect`, reflect);\nrouter.post(`/reflect`, reflect);\n\nmodule.exports = router;\n"],"mappings":";;AAAA;AACA;AACA;AAGA,IAAMA,UAAU,GAAGC,OAAO,eAA1B;;AACA,IAAMC,OAAO,GAAGD,OAAO,WAAvB;;AACA,IAAME,OAAO,GAAGF,OAAO,aAAvB;AAEA;;;AACA,IAAMG,MAAM,GAAGF,OAAO,CAACG,MAAR,EAAf,C,CAEA;AACA;;AAEAD,MAAM,CAACE,GAAP,CAAWN,UAAU,CAACO,UAAX,CAAsB;EAACC,QAAQ,EAAE;AAAX,CAAtB,CAAX;AAEAJ,MAAM,CAACK,KAAP,aAAyBN,OAAzB;AACAC,MAAM,CAACM,GAAP,aAAuBP,OAAvB;AACAC,MAAM,CAACO,IAAP,aAAwBR,OAAxB;AAEAS,MAAM,CAACC,OAAP,GAAiBT,MAAjB"}
1
+ {"version":3,"names":["bodyParser","require","express","reflect","router","Router","use","urlencoded","extended","patch","put","post","module","exports"],"sources":["form.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nconst bodyParser = require(`body-parser`);\nconst express = require(`express`);\nconst reflect = require(`./reflect`);\n\n/* eslint new-cap: [0] */\nconst router = express.Router();\n\n// Configure Image processing\n// -------------------------\n\nrouter.use(bodyParser.urlencoded({extended: true}));\n\nrouter.patch(`/reflect`, reflect);\nrouter.put(`/reflect`, reflect);\nrouter.post(`/reflect`, reflect);\n\nmodule.exports = router;\n"],"mappings":";;AAAA;AACA;AACA;;AAEA,IAAMA,UAAU,GAAGC,OAAO,eAAe;AACzC,IAAMC,OAAO,GAAGD,OAAO,WAAW;AAClC,IAAME,OAAO,GAAGF,OAAO,aAAa;;AAEpC;AACA,IAAMG,MAAM,GAAGF,OAAO,CAACG,MAAM,EAAE;;AAE/B;AACA;;AAEAD,MAAM,CAACE,GAAG,CAACN,UAAU,CAACO,UAAU,CAAC;EAACC,QAAQ,EAAE;AAAI,CAAC,CAAC,CAAC;AAEnDJ,MAAM,CAACK,KAAK,aAAaN,OAAO,CAAC;AACjCC,MAAM,CAACM,GAAG,aAAaP,OAAO,CAAC;AAC/BC,MAAM,CAACO,IAAI,aAAaR,OAAO,CAAC;AAEhCS,MAAM,CAACC,OAAO,GAAGT,MAAM"}
package/dist/index.js CHANGED
@@ -1,93 +1,97 @@
1
1
  "use strict";
2
2
 
3
+ var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
4
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
6
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
7
+ var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
8
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
3
9
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
-
5
- var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
6
-
7
10
  var _parseInt2 = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/parse-int"));
8
-
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
12
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
9
14
  /*!
10
15
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
11
16
  */
12
17
 
13
18
  /* eslint max-nested-callbacks: [2, 3] */
14
-
15
19
  /* eslint no-console: [0] */
16
- var btoa = require("btoa");
17
20
 
21
+ var btoa = require("btoa");
18
22
  var bodyParser = require("body-parser");
19
-
20
23
  var browserify = require("browserify-middleware");
21
-
22
24
  var compression = require("compression");
23
-
24
25
  var cors = require("cors");
25
-
26
26
  var express = require("express");
27
-
28
27
  var fs = require("fs");
29
-
30
28
  var glob = require("glob");
31
-
32
29
  var http = require("http");
33
-
34
30
  var morgan = require("morgan");
35
-
36
31
  var path = require("path");
37
-
38
32
  var querystring = require("querystring");
39
-
40
33
  var request = require("request");
41
-
42
34
  var url = require("url");
43
-
44
35
  var base64 = require("urlsafe-base64");
36
+ var app = express();
45
37
 
46
- var app = express(); // Configure Logging
38
+ // Configure Logging
47
39
  // -----------------
48
40
 
49
41
  if (process.env.DEBUG) {
50
42
  app.use(morgan("short", {
51
43
  immediate: true
52
44
  }));
53
- } // Configure CORS
54
- // --------------
45
+ }
55
46
 
47
+ // Configure CORS
48
+ // --------------
56
49
 
57
50
  app.use(cors({
58
51
  credentials: true,
59
52
  origin: function origin(o, callback) {
60
53
  callback(null, true);
61
54
  }
62
- })); // Configure body processing
55
+ }));
56
+
57
+ // Configure body processing
63
58
  // -------------------------
64
59
 
65
60
  app.use(bodyParser.raw({
66
61
  type: "image/*"
67
- })); // Enable gzip/deflate
62
+ }));
63
+
64
+ // Enable gzip/deflate
68
65
  // -------------------
69
66
 
70
- app.use(compression()); // Close all connections
67
+ app.use(compression());
68
+
69
+ // Close all connections
71
70
  // ---------------------
71
+
72
72
  // This *should* help tests run faster in IE, which has a very low number of
73
73
  // allowed connections to the same origin.
74
-
75
74
  app.use(function (req, res, next) {
76
75
  res.set("connection", "close");
77
76
  next();
78
- }); // Configure Browserify
77
+ });
78
+
79
+ // Configure Browserify
79
80
  // --------------------
80
81
 
81
82
  var appPattern = "packages/{*,*/*}/test/automation/fixtures/app.js";
82
83
  glob.sync(appPattern).forEach(function (appjs) {
83
- var packageName = appjs.replace("packages/", "").replace("/test/automation/fixtures/app.js", ""); // eslint-disable-next-line no-sync
84
+ var packageName = appjs.replace("packages/", "").replace("/test/automation/fixtures/app.js", "");
84
85
 
86
+ // eslint-disable-next-line no-sync
85
87
  fs.statSync(appjs);
86
88
  app.use("/".concat(packageName, "/app.js"), browserify(appjs, {
87
89
  debug: true,
88
90
  transform: ["babelify", "envify"]
89
91
  }));
90
- }); // Enable active routes
92
+ });
93
+
94
+ // Enable active routes
91
95
  // --------------------
92
96
 
93
97
  app.get('/', function (req, res) {
@@ -117,7 +121,9 @@ app.get("/return-qs-as-object", function (req, res) {
117
121
  });
118
122
  app.get("/embargoed", function (req, res) {
119
123
  res.status(451).end();
120
- }); // Enable static routes
124
+ });
125
+
126
+ // Enable static routes
121
127
  // --------------------
122
128
 
123
129
  var fixturePattern = "packages/{*,*/*}/test/automation/fixtures";
@@ -128,14 +134,11 @@ glob.sync(fixturePattern).forEach(function (fixturePath) {
128
134
  next();
129
135
  return;
130
136
  }
131
-
132
137
  var state = JSON.parse(base64.decode(req.query.state));
133
-
134
138
  if (state.exchange === false) {
135
139
  next();
136
140
  return;
137
141
  }
138
-
139
142
  request({
140
143
  /* eslint-disable camelcase */
141
144
  method: "POST",
@@ -152,22 +155,19 @@ glob.sync(fixturePattern).forEach(function (fixturePath) {
152
155
  sendImmediately: true
153
156
  }
154
157
  /* eslint-enable camelcase */
155
-
156
158
  }, function (err, response) {
157
159
  if (err) {
158
160
  console.warn("Request to CI failed with non-HTTP error");
159
161
  next(err);
160
162
  return;
161
163
  }
162
-
163
164
  if (response.statusCode >= 400) {
164
165
  console.warn("Got unexpected response from CI");
165
166
  next(new Error(response.body));
166
167
  return;
167
168
  }
168
-
169
169
  var redirect = url.parse(req.url, true);
170
- var qs = querystring.stringify((0, _assign.default)({
170
+ var qs = querystring.stringify(_objectSpread({
171
171
  state: req.query.state
172
172
  }, JSON.parse(response.body)));
173
173
  redirect = "".concat(redirect.pathname, "#").concat(qs);
@@ -182,7 +182,6 @@ app.post("/refresh", bodyParser.json(), function (req, res, next) {
182
182
  next(new Error("`refresh_token` is required"));
183
183
  return;
184
184
  }
185
-
186
185
  console.info("Refreshing access token");
187
186
  request({
188
187
  /* eslint-disable camelcase */
@@ -199,25 +198,24 @@ app.post("/refresh", bodyParser.json(), function (req, res, next) {
199
198
  sendImmediately: true
200
199
  }
201
200
  /* eslint-enable camelcase */
202
-
203
201
  }, function (err, response) {
204
202
  if (err) {
205
203
  console.warn("Request to CI failed with non-HTTP error");
206
204
  next(err);
207
205
  return;
208
206
  }
209
-
210
207
  if (response.statusCode >= 400) {
211
208
  console.warn("Got unexpected response from CI");
212
209
  next(new Error(response.body));
213
210
  return;
214
211
  }
215
-
216
212
  console.info("Returning new access token");
217
213
  res.status(200).json(JSON.parse(response.body)).end();
218
214
  });
219
215
  });
220
- app.use(express.static(path.resolve(__dirname, '..', "static"))); // Start the server
216
+ app.use(express.static(path.resolve(__dirname, '..', "static")));
217
+
218
+ // Start the server
221
219
  // ----------------
222
220
 
223
221
  var port = (0, _parseInt2.default)(process.env.SERVER_PORT, 10) || 8000;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["btoa","require","bodyParser","browserify","compression","cors","express","fs","glob","http","morgan","path","querystring","request","url","base64","app","process","env","DEBUG","use","immediate","credentials","origin","o","callback","raw","type","req","res","next","set","appPattern","sync","forEach","appjs","packageName","replace","statSync","debug","transform","get","send","router","headers","authorization","status","end","json","query","fixturePattern","fixturePath","code","state","JSON","parse","decode","exchange","method","uri","IDBROKER_BASE_URL","form","grant_type","redirect_uri","WEBEX_REDIRECT_URI","self_contained_token","auth","user","WEBEX_CLIENT_ID","pass","WEBEX_CLIENT_SECRET","sendImmediately","err","response","console","warn","statusCode","Error","body","redirect","qs","stringify","pathname","info","static","post","refresh_token","resolve","__dirname","port","SERVER_PORT","createServer","listen","log","fixtureport","FIXTURE_PORT","corsport","CORS_PORT"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint max-nested-callbacks: [2, 3] */\n/* eslint no-console: [0] */\n\n\nconst btoa = require(`btoa`);\nconst bodyParser = require(`body-parser`);\nconst browserify = require(`browserify-middleware`);\nconst compression = require(`compression`);\nconst cors = require(`cors`);\nconst express = require(`express`);\nconst fs = require(`fs`);\nconst glob = require(`glob`);\nconst http = require(`http`);\nconst morgan = require(`morgan`);\nconst path = require(`path`);\nconst querystring = require(`querystring`);\nconst request = require(`request`);\nconst url = require(`url`);\nconst base64 = require(`urlsafe-base64`);\n\nconst app = express();\n\n// Configure Logging\n// -----------------\n\nif (process.env.DEBUG) {\n app.use(morgan(`short`, {\n immediate: true\n }));\n}\n\n// Configure CORS\n// --------------\n\napp.use(cors({\n credentials: true,\n origin(o, callback) {\n callback(null, true);\n }\n}));\n\n// Configure body processing\n// -------------------------\n\napp.use(bodyParser.raw({type: `image/*`}));\n\n// Enable gzip/deflate\n// -------------------\n\napp.use(compression());\n\n// Close all connections\n// ---------------------\n\n// This *should* help tests run faster in IE, which has a very low number of\n// allowed connections to the same origin.\napp.use((req, res, next) => {\n res.set(`connection`, `close`);\n next();\n});\n\n// Configure Browserify\n// --------------------\n\nconst appPattern = `packages/{*,*/*}/test/automation/fixtures/app.js`;\n\nglob.sync(appPattern).forEach((appjs) => {\n const packageName = appjs\n .replace(`packages/`, ``)\n .replace(`/test/automation/fixtures/app.js`, ``);\n\n // eslint-disable-next-line no-sync\n fs.statSync(appjs);\n app.use(`/${packageName}/app.js`, browserify(appjs, {\n debug: true,\n transform: [\n `babelify`,\n `envify`\n ]\n }));\n});\n\n// Enable active routes\n// --------------------\n\napp.get('/', (req, res) => {\n res.send(`<!DOCTYPE html>\n<html>\n <head>\n <title>Redirect Dispatcher</title>\n <script>\n try {\n var state = /state=(.+?)(&.*)?$/.exec(window.location)[1]\n console.info('state', state);\n var name = JSON.parse(atob(state)).name;\n console.info('name', name);\n window.location.pathname = name;\n }\n catch(err) {\n console.warn(err);\n }\n </script>\n </head>\n <body>\n\n </body>\n</html>`);\n});\n\napp.use(`/cookies`, require(`./cookies`));\napp.use(`/json`, require(`./json`));\napp.use(`/form`, require(`./form`));\napp.use(`/files`, require(`./files`));\napp.use(`/jwt`, require(`@webex/test-helper-appid`).router);\n\napp.get(`/requires-basic-auth`, (req, res) => {\n if (req.headers.authorization === `Basic ${btoa(`basicuser:basicpass`)}`) {\n res.status(200).send().end();\n }\n else {\n res.status(403).send().end();\n }\n});\n\napp.get(`/requires-bearer-auth`, (req, res) => {\n if (req.headers.authorization === `Bearer bearertoken`) {\n res.status(200).send().end();\n }\n else {\n res.status(403).send().end();\n }\n});\n\napp.get(`/return-qs-as-object`, (req, res) => {\n res.status(200).json(req.query).end();\n});\n\napp.get(`/embargoed`, (req, res) => {\n res.status(451).end();\n});\n\n// Enable static routes\n// --------------------\n\nconst fixturePattern = `packages/{*,*/*}/test/automation/fixtures`;\n\n\nglob.sync(fixturePattern).forEach((fixturePath) => {\n const packageName = fixturePath\n .replace(`packages/`, ``)\n .replace(`/test/automation/fixtures`, ``);\n\n app.get(`/${packageName}`, (req, res, next) => {\n if (!req.query.code) {\n next();\n\n return;\n }\n\n const state = JSON.parse(base64.decode(req.query.state));\n\n if (state.exchange === false) {\n next();\n\n return;\n }\n\n request({\n /* eslint-disable camelcase */\n method: `POST`,\n uri: `${process.env.IDBROKER_BASE_URL || `https://idbroker.webex.com`}/idb/oauth2/v1/access_token`,\n form: {\n grant_type: `authorization_code`,\n redirect_uri: process.env.WEBEX_REDIRECT_URI,\n code: req.query.code,\n self_contained_token: true\n },\n auth: {\n user: process.env.WEBEX_CLIENT_ID,\n pass: process.env.WEBEX_CLIENT_SECRET,\n sendImmediately: true\n }\n /* eslint-enable camelcase */\n }, (err, response) => {\n if (err) {\n console.warn(`Request to CI failed with non-HTTP error`);\n next(err);\n\n return;\n }\n if (response.statusCode >= 400) {\n console.warn(`Got unexpected response from CI`);\n next(new Error(response.body));\n\n return;\n }\n let redirect = url.parse(req.url, true);\n const qs = querystring.stringify(Object.assign({state: req.query.state}, JSON.parse(response.body)));\n\n redirect = `${redirect.pathname}#${qs}`;\n\n console.info(`redirecting to ${redirect}`);\n res.redirect(redirect);\n });\n });\n app.use(`/${packageName}`, express.static(fixturePath));\n});\n\napp.post(`/refresh`, bodyParser.json(), (req, res, next) => {\n if (!req.body.refresh_token) {\n next(new Error(`\\`refresh_token\\` is required`));\n\n return;\n }\n console.info(`Refreshing access token`);\n request({\n /* eslint-disable camelcase */\n method: `POST`,\n uri: `${process.env.IDBROKER_BASE_URL || `https://idbroker.webex.com`}/idb/oauth2/v1/access_token`,\n form: {\n grant_type: `refresh_token`,\n redirect_uri: process.env.WEBEX_REDIRECT_URI,\n refresh_token: req.body.refresh_token\n },\n auth: {\n user: process.env.WEBEX_CLIENT_ID,\n pass: process.env.WEBEX_CLIENT_SECRET,\n sendImmediately: true\n }\n /* eslint-enable camelcase */\n }, (err, response) => {\n if (err) {\n console.warn(`Request to CI failed with non-HTTP error`);\n next(err);\n\n return;\n }\n if (response.statusCode >= 400) {\n console.warn(`Got unexpected response from CI`);\n next(new Error(response.body));\n\n return;\n }\n\n console.info(`Returning new access token`);\n res.status(200).json(JSON.parse(response.body)).end();\n });\n});\n\napp.use(express.static(path.resolve(__dirname, '..', `static`)));\n\n// Start the server\n// ----------------\n\nconst port = parseInt(process.env.SERVER_PORT, 10) || 8000;\n\nhttp.createServer(app).listen(port, () => {\n console.log(`Express server listening on port ${port}`);\n});\n\nconst fixtureport = parseInt(process.env.FIXTURE_PORT, 10) || 3000;\n\nhttp.createServer(app).listen(fixtureport, () => {\n console.log(`Express server listening on port ${fixtureport}`);\n});\n\nconst corsport = parseInt(process.env.CORS_PORT, 10) || 3002;\n\nhttp.createServer(app).listen(corsport, () => {\n console.log(`Express server listening on port ${corsport}`);\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["btoa","require","bodyParser","browserify","compression","cors","express","fs","glob","http","morgan","path","querystring","request","url","base64","app","process","env","DEBUG","use","immediate","credentials","origin","o","callback","raw","type","req","res","next","set","appPattern","sync","forEach","appjs","packageName","replace","statSync","debug","transform","get","send","router","headers","authorization","status","end","json","query","fixturePattern","fixturePath","code","state","JSON","parse","decode","exchange","method","uri","IDBROKER_BASE_URL","form","grant_type","redirect_uri","WEBEX_REDIRECT_URI","self_contained_token","auth","user","WEBEX_CLIENT_ID","pass","WEBEX_CLIENT_SECRET","sendImmediately","err","response","console","warn","statusCode","Error","body","redirect","qs","stringify","pathname","info","static","post","refresh_token","resolve","__dirname","port","SERVER_PORT","createServer","listen","log","fixtureport","FIXTURE_PORT","corsport","CORS_PORT"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint max-nested-callbacks: [2, 3] */\n/* eslint no-console: [0] */\n\nconst btoa = require(`btoa`);\nconst bodyParser = require(`body-parser`);\nconst browserify = require(`browserify-middleware`);\nconst compression = require(`compression`);\nconst cors = require(`cors`);\nconst express = require(`express`);\nconst fs = require(`fs`);\nconst glob = require(`glob`);\nconst http = require(`http`);\nconst morgan = require(`morgan`);\nconst path = require(`path`);\nconst querystring = require(`querystring`);\nconst request = require(`request`);\nconst url = require(`url`);\nconst base64 = require(`urlsafe-base64`);\n\nconst app = express();\n\n// Configure Logging\n// -----------------\n\nif (process.env.DEBUG) {\n app.use(\n morgan(`short`, {\n immediate: true,\n })\n );\n}\n\n// Configure CORS\n// --------------\n\napp.use(\n cors({\n credentials: true,\n origin(o, callback) {\n callback(null, true);\n },\n })\n);\n\n// Configure body processing\n// -------------------------\n\napp.use(bodyParser.raw({type: `image/*`}));\n\n// Enable gzip/deflate\n// -------------------\n\napp.use(compression());\n\n// Close all connections\n// ---------------------\n\n// This *should* help tests run faster in IE, which has a very low number of\n// allowed connections to the same origin.\napp.use((req, res, next) => {\n res.set(`connection`, `close`);\n next();\n});\n\n// Configure Browserify\n// --------------------\n\nconst appPattern = `packages/{*,*/*}/test/automation/fixtures/app.js`;\n\nglob.sync(appPattern).forEach((appjs) => {\n const packageName = appjs\n .replace(`packages/`, ``)\n .replace(`/test/automation/fixtures/app.js`, ``);\n\n // eslint-disable-next-line no-sync\n fs.statSync(appjs);\n app.use(\n `/${packageName}/app.js`,\n browserify(appjs, {\n debug: true,\n transform: [`babelify`, `envify`],\n })\n );\n});\n\n// Enable active routes\n// --------------------\n\napp.get('/', (req, res) => {\n res.send(`<!DOCTYPE html>\n<html>\n <head>\n <title>Redirect Dispatcher</title>\n <script>\n try {\n var state = /state=(.+?)(&.*)?$/.exec(window.location)[1]\n console.info('state', state);\n var name = JSON.parse(atob(state)).name;\n console.info('name', name);\n window.location.pathname = name;\n }\n catch(err) {\n console.warn(err);\n }\n </script>\n </head>\n <body>\n\n </body>\n</html>`);\n});\n\napp.use(`/cookies`, require(`./cookies`));\napp.use(`/json`, require(`./json`));\napp.use(`/form`, require(`./form`));\napp.use(`/files`, require(`./files`));\napp.use(`/jwt`, require(`@webex/test-helper-appid`).router);\n\napp.get(`/requires-basic-auth`, (req, res) => {\n if (req.headers.authorization === `Basic ${btoa(`basicuser:basicpass`)}`) {\n res.status(200).send().end();\n } else {\n res.status(403).send().end();\n }\n});\n\napp.get(`/requires-bearer-auth`, (req, res) => {\n if (req.headers.authorization === `Bearer bearertoken`) {\n res.status(200).send().end();\n } else {\n res.status(403).send().end();\n }\n});\n\napp.get(`/return-qs-as-object`, (req, res) => {\n res.status(200).json(req.query).end();\n});\n\napp.get(`/embargoed`, (req, res) => {\n res.status(451).end();\n});\n\n// Enable static routes\n// --------------------\n\nconst fixturePattern = `packages/{*,*/*}/test/automation/fixtures`;\n\nglob.sync(fixturePattern).forEach((fixturePath) => {\n const packageName = fixturePath.replace(`packages/`, ``).replace(`/test/automation/fixtures`, ``);\n\n app.get(`/${packageName}`, (req, res, next) => {\n if (!req.query.code) {\n next();\n\n return;\n }\n\n const state = JSON.parse(base64.decode(req.query.state));\n\n if (state.exchange === false) {\n next();\n\n return;\n }\n\n request(\n {\n /* eslint-disable camelcase */\n method: `POST`,\n uri: `${\n process.env.IDBROKER_BASE_URL || `https://idbroker.webex.com`\n }/idb/oauth2/v1/access_token`,\n form: {\n grant_type: `authorization_code`,\n redirect_uri: process.env.WEBEX_REDIRECT_URI,\n code: req.query.code,\n self_contained_token: true,\n },\n auth: {\n user: process.env.WEBEX_CLIENT_ID,\n pass: process.env.WEBEX_CLIENT_SECRET,\n sendImmediately: true,\n },\n /* eslint-enable camelcase */\n },\n (err, response) => {\n if (err) {\n console.warn(`Request to CI failed with non-HTTP error`);\n next(err);\n\n return;\n }\n if (response.statusCode >= 400) {\n console.warn(`Got unexpected response from CI`);\n next(new Error(response.body));\n\n return;\n }\n let redirect = url.parse(req.url, true);\n const qs = querystring.stringify({state: req.query.state, ...JSON.parse(response.body)});\n\n redirect = `${redirect.pathname}#${qs}`;\n\n console.info(`redirecting to ${redirect}`);\n res.redirect(redirect);\n }\n );\n });\n app.use(`/${packageName}`, express.static(fixturePath));\n});\n\napp.post(`/refresh`, bodyParser.json(), (req, res, next) => {\n if (!req.body.refresh_token) {\n next(new Error(`\\`refresh_token\\` is required`));\n\n return;\n }\n console.info(`Refreshing access token`);\n request(\n {\n /* eslint-disable camelcase */\n method: `POST`,\n uri: `${\n process.env.IDBROKER_BASE_URL || `https://idbroker.webex.com`\n }/idb/oauth2/v1/access_token`,\n form: {\n grant_type: `refresh_token`,\n redirect_uri: process.env.WEBEX_REDIRECT_URI,\n refresh_token: req.body.refresh_token,\n },\n auth: {\n user: process.env.WEBEX_CLIENT_ID,\n pass: process.env.WEBEX_CLIENT_SECRET,\n sendImmediately: true,\n },\n /* eslint-enable camelcase */\n },\n (err, response) => {\n if (err) {\n console.warn(`Request to CI failed with non-HTTP error`);\n next(err);\n\n return;\n }\n if (response.statusCode >= 400) {\n console.warn(`Got unexpected response from CI`);\n next(new Error(response.body));\n\n return;\n }\n\n console.info(`Returning new access token`);\n res.status(200).json(JSON.parse(response.body)).end();\n }\n );\n});\n\napp.use(express.static(path.resolve(__dirname, '..', `static`)));\n\n// Start the server\n// ----------------\n\nconst port = parseInt(process.env.SERVER_PORT, 10) || 8000;\n\nhttp.createServer(app).listen(port, () => {\n console.log(`Express server listening on port ${port}`);\n});\n\nconst fixtureport = parseInt(process.env.FIXTURE_PORT, 10) || 3000;\n\nhttp.createServer(app).listen(fixtureport, () => {\n console.log(`Express server listening on port ${fixtureport}`);\n});\n\nconst corsport = parseInt(process.env.CORS_PORT, 10) || 3002;\n\nhttp.createServer(app).listen(corsport, () => {\n console.log(`Express server listening on port ${corsport}`);\n});\n"],"mappings":"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"}
package/dist/json.js CHANGED
@@ -3,15 +3,15 @@
3
3
  /*!
4
4
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
5
5
  */
6
- var bodyParser = require("body-parser");
7
6
 
7
+ var bodyParser = require("body-parser");
8
8
  var express = require("express");
9
-
10
9
  var reflect = require("./reflect");
11
- /* eslint new-cap: [0] */
12
10
 
11
+ /* eslint new-cap: [0] */
12
+ var router = express.Router();
13
13
 
14
- var router = express.Router(); // Configure JSON processing
14
+ // Configure JSON processing
15
15
  // -------------------------
16
16
 
17
17
  router.use(bodyParser.json());
package/dist/json.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["bodyParser","require","express","reflect","router","Router","use","json","get","req","res","send","isObject","patch","post","put","module","exports"],"sources":["json.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n\nconst bodyParser = require(`body-parser`);\nconst express = require(`express`);\nconst reflect = require(`./reflect`);\n\n/* eslint new-cap: [0] */\nconst router = express.Router();\n\n// Configure JSON processing\n// -------------------------\n\nrouter.use(bodyParser.json());\n\nrouter.get(`/get`, (req, res) => {\n res.send({\n isObject: true\n });\n});\n\nrouter.patch(`/set`, reflect);\nrouter.post(`/set`, reflect);\nrouter.put(`/set`, reflect);\n\nmodule.exports = router;\n"],"mappings":";;AAAA;AACA;AACA;AAGA,IAAMA,UAAU,GAAGC,OAAO,eAA1B;;AACA,IAAMC,OAAO,GAAGD,OAAO,WAAvB;;AACA,IAAME,OAAO,GAAGF,OAAO,aAAvB;AAEA;;;AACA,IAAMG,MAAM,GAAGF,OAAO,CAACG,MAAR,EAAf,C,CAEA;AACA;;AAEAD,MAAM,CAACE,GAAP,CAAWN,UAAU,CAACO,IAAX,EAAX;AAEAH,MAAM,CAACI,GAAP,SAAmB,UAACC,GAAD,EAAMC,GAAN,EAAc;EAC/BA,GAAG,CAACC,IAAJ,CAAS;IACPC,QAAQ,EAAE;EADH,CAAT;AAGD,CAJD;AAMAR,MAAM,CAACS,KAAP,SAAqBV,OAArB;AACAC,MAAM,CAACU,IAAP,SAAoBX,OAApB;AACAC,MAAM,CAACW,GAAP,SAAmBZ,OAAnB;AAEAa,MAAM,CAACC,OAAP,GAAiBb,MAAjB"}
1
+ {"version":3,"names":["bodyParser","require","express","reflect","router","Router","use","json","get","req","res","send","isObject","patch","post","put","module","exports"],"sources":["json.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nconst bodyParser = require(`body-parser`);\nconst express = require(`express`);\nconst reflect = require(`./reflect`);\n\n/* eslint new-cap: [0] */\nconst router = express.Router();\n\n// Configure JSON processing\n// -------------------------\n\nrouter.use(bodyParser.json());\n\nrouter.get(`/get`, (req, res) => {\n res.send({\n isObject: true,\n });\n});\n\nrouter.patch(`/set`, reflect);\nrouter.post(`/set`, reflect);\nrouter.put(`/set`, reflect);\n\nmodule.exports = router;\n"],"mappings":";;AAAA;AACA;AACA;;AAEA,IAAMA,UAAU,GAAGC,OAAO,eAAe;AACzC,IAAMC,OAAO,GAAGD,OAAO,WAAW;AAClC,IAAME,OAAO,GAAGF,OAAO,aAAa;;AAEpC;AACA,IAAMG,MAAM,GAAGF,OAAO,CAACG,MAAM,EAAE;;AAE/B;AACA;;AAEAD,MAAM,CAACE,GAAG,CAACN,UAAU,CAACO,IAAI,EAAE,CAAC;AAE7BH,MAAM,CAACI,GAAG,SAAS,UAACC,GAAG,EAAEC,GAAG,EAAK;EAC/BA,GAAG,CAACC,IAAI,CAAC;IACPC,QAAQ,EAAE;EACZ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFR,MAAM,CAACS,KAAK,SAASV,OAAO,CAAC;AAC7BC,MAAM,CAACU,IAAI,SAASX,OAAO,CAAC;AAC5BC,MAAM,CAACW,GAAG,SAASZ,OAAO,CAAC;AAE3Ba,MAAM,CAACC,OAAO,GAAGb,MAAM"}
package/dist/reflect.js CHANGED
@@ -13,6 +13,5 @@ function reflect(req, res) {
13
13
  res.set("content-type", req.headers["content-type"]);
14
14
  res.status(200).send(req.body).end();
15
15
  }
16
-
17
16
  module.exports = reflect;
18
17
  //# sourceMappingURL=reflect.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["reflect","req","res","set","headers","status","send","body","end","module","exports"],"sources":["reflect.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n\n/**\n * @param {http.IncomingMessage} req\n * @param {http.ServerResponse} res\n * @returns {undefined}\n */\nfunction reflect(req, res) {\n res.set(`content-type`, req.headers[`content-type`]);\n res.status(200).send(req.body).end();\n}\n\nmodule.exports = reflect;\n"],"mappings":";;AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA,SAASA,OAAT,CAAiBC,GAAjB,EAAsBC,GAAtB,EAA2B;EACzBA,GAAG,CAACC,GAAJ,iBAAwBF,GAAG,CAACG,OAAJ,gBAAxB;EACAF,GAAG,CAACG,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqBL,GAAG,CAACM,IAAzB,EAA+BC,GAA/B;AACD;;AAEDC,MAAM,CAACC,OAAP,GAAiBV,OAAjB"}
1
+ {"version":3,"names":["reflect","req","res","set","headers","status","send","body","end","module","exports"],"sources":["reflect.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/**\n * @param {http.IncomingMessage} req\n * @param {http.ServerResponse} res\n * @returns {undefined}\n */\nfunction reflect(req, res) {\n res.set(`content-type`, req.headers[`content-type`]);\n res.status(200).send(req.body).end();\n}\n\nmodule.exports = reflect;\n"],"mappings":";;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASA,OAAO,CAACC,GAAG,EAAEC,GAAG,EAAE;EACzBA,GAAG,CAACC,GAAG,iBAAiBF,GAAG,CAACG,OAAO,gBAAgB,CAAC;EACpDF,GAAG,CAACG,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAACL,GAAG,CAACM,IAAI,CAAC,CAACC,GAAG,EAAE;AACtC;AAEAC,MAAM,CAACC,OAAO,GAAGV,OAAO"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/test-helper-server",
3
- "version": "3.0.0-beta.3",
3
+ "version": "3.0.0-beta.30",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -13,7 +13,7 @@
13
13
  "node": ">=16"
14
14
  },
15
15
  "dependencies": {
16
- "@webex/test-helper-appid": "3.0.0-beta.3",
16
+ "@webex/test-helper-appid": "3.0.0-beta.30",
17
17
  "body-parser": "^1.19.0",
18
18
  "browserify-middleware": "^8.1.1",
19
19
  "btoa": "^1.2.1",
package/src/.eslintrc.yml CHANGED
@@ -5,20 +5,20 @@ parserOptions:
5
5
  blockBindings: false
6
6
  modules: false
7
7
  rules:
8
- arrow-parens: off
9
- arrow-spacing: off
10
- constructor-super: off
11
- generator-star-spacing: off
12
- no-class-assign: off
13
- no-const-assign: off
14
- no-dupe-class-members: off
15
- no-this-before-super: off
16
- no-var: off
17
- object-shorthand: off
18
- prefer-arrow-callback: off
19
- prefer-const: off
20
- prefer-reflect: off
21
- prefer-spread: off
22
- prefer-template: off
23
- quotes: off
24
- require-yield: off
8
+ arrow-parens: off
9
+ arrow-spacing: off
10
+ constructor-super: off
11
+ generator-star-spacing: off
12
+ no-class-assign: off
13
+ no-const-assign: off
14
+ no-dupe-class-members: off
15
+ no-this-before-super: off
16
+ no-var: off
17
+ object-shorthand: off
18
+ prefer-arrow-callback: off
19
+ prefer-const: off
20
+ prefer-reflect: off
21
+ prefer-spread: off
22
+ prefer-template: off
23
+ quotes: off
24
+ require-yield: off
package/src/cookies.js CHANGED
@@ -2,7 +2,6 @@
2
2
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
3
  */
4
4
 
5
-
6
5
  const cookieParser = require(`cookie-parser`);
7
6
  const express = require(`express`);
8
7
 
@@ -21,8 +20,7 @@ router.get(`/set`, (req, res) => {
21
20
  router.get(`/expect`, (req, res) => {
22
21
  if (req.cookies.oreo === `double stuf`) {
23
22
  res.status(200).send().end();
24
- }
25
- else {
23
+ } else {
26
24
  res.status(403).send().end();
27
25
  }
28
26
  });
package/src/files.js CHANGED
@@ -2,7 +2,6 @@
2
2
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
3
  */
4
4
 
5
-
6
5
  const bodyParser = require(`body-parser`);
7
6
  const express = require(`express`);
8
7
  const fs = require(`fs`);
@@ -45,7 +44,7 @@ router.post(`/upload`, (req, res, next) => {
45
44
  return res
46
45
  .status(201)
47
46
  .json({
48
- loc: getFrom
47
+ loc: getFrom,
49
48
  })
50
49
  .end();
51
50
  });
@@ -71,10 +70,7 @@ const upload = multer({storage});
71
70
 
72
71
  [`put`, `patch`, `post`].forEach((methodName) => {
73
72
  router[methodName](`/metadata`, upload.array(`files`), (req, res) => {
74
- res
75
- .status(200)
76
- .json(req.files)
77
- .end();
73
+ res.status(200).json(req.files).end();
78
74
  });
79
75
  });
80
76
 
package/src/form.js CHANGED
@@ -2,7 +2,6 @@
2
2
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
3
  */
4
4
 
5
-
6
5
  const bodyParser = require(`body-parser`);
7
6
  const express = require(`express`);
8
7
  const reflect = require(`./reflect`);
package/src/index.js CHANGED
@@ -5,7 +5,6 @@
5
5
  /* eslint max-nested-callbacks: [2, 3] */
6
6
  /* eslint no-console: [0] */
7
7
 
8
-
9
8
  const btoa = require(`btoa`);
10
9
  const bodyParser = require(`body-parser`);
11
10
  const browserify = require(`browserify-middleware`);
@@ -28,20 +27,24 @@ const app = express();
28
27
  // -----------------
29
28
 
30
29
  if (process.env.DEBUG) {
31
- app.use(morgan(`short`, {
32
- immediate: true
33
- }));
30
+ app.use(
31
+ morgan(`short`, {
32
+ immediate: true,
33
+ })
34
+ );
34
35
  }
35
36
 
36
37
  // Configure CORS
37
38
  // --------------
38
39
 
39
- app.use(cors({
40
- credentials: true,
41
- origin(o, callback) {
42
- callback(null, true);
43
- }
44
- }));
40
+ app.use(
41
+ cors({
42
+ credentials: true,
43
+ origin(o, callback) {
44
+ callback(null, true);
45
+ },
46
+ })
47
+ );
45
48
 
46
49
  // Configure body processing
47
50
  // -------------------------
@@ -75,13 +78,13 @@ glob.sync(appPattern).forEach((appjs) => {
75
78
 
76
79
  // eslint-disable-next-line no-sync
77
80
  fs.statSync(appjs);
78
- app.use(`/${packageName}/app.js`, browserify(appjs, {
79
- debug: true,
80
- transform: [
81
- `babelify`,
82
- `envify`
83
- ]
84
- }));
81
+ app.use(
82
+ `/${packageName}/app.js`,
83
+ browserify(appjs, {
84
+ debug: true,
85
+ transform: [`babelify`, `envify`],
86
+ })
87
+ );
85
88
  });
86
89
 
87
90
  // Enable active routes
@@ -120,8 +123,7 @@ app.use(`/jwt`, require(`@webex/test-helper-appid`).router);
120
123
  app.get(`/requires-basic-auth`, (req, res) => {
121
124
  if (req.headers.authorization === `Basic ${btoa(`basicuser:basicpass`)}`) {
122
125
  res.status(200).send().end();
123
- }
124
- else {
126
+ } else {
125
127
  res.status(403).send().end();
126
128
  }
127
129
  });
@@ -129,8 +131,7 @@ app.get(`/requires-basic-auth`, (req, res) => {
129
131
  app.get(`/requires-bearer-auth`, (req, res) => {
130
132
  if (req.headers.authorization === `Bearer bearertoken`) {
131
133
  res.status(200).send().end();
132
- }
133
- else {
134
+ } else {
134
135
  res.status(403).send().end();
135
136
  }
136
137
  });
@@ -148,11 +149,8 @@ app.get(`/embargoed`, (req, res) => {
148
149
 
149
150
  const fixturePattern = `packages/{*,*/*}/test/automation/fixtures`;
150
151
 
151
-
152
152
  glob.sync(fixturePattern).forEach((fixturePath) => {
153
- const packageName = fixturePath
154
- .replace(`packages/`, ``)
155
- .replace(`/test/automation/fixtures`, ``);
153
+ const packageName = fixturePath.replace(`packages/`, ``).replace(`/test/automation/fixtures`, ``);
156
154
 
157
155
  app.get(`/${packageName}`, (req, res, next) => {
158
156
  if (!req.query.code) {
@@ -169,23 +167,79 @@ glob.sync(fixturePattern).forEach((fixturePath) => {
169
167
  return;
170
168
  }
171
169
 
172
- request({
170
+ request(
171
+ {
172
+ /* eslint-disable camelcase */
173
+ method: `POST`,
174
+ uri: `${
175
+ process.env.IDBROKER_BASE_URL || `https://idbroker.webex.com`
176
+ }/idb/oauth2/v1/access_token`,
177
+ form: {
178
+ grant_type: `authorization_code`,
179
+ redirect_uri: process.env.WEBEX_REDIRECT_URI,
180
+ code: req.query.code,
181
+ self_contained_token: true,
182
+ },
183
+ auth: {
184
+ user: process.env.WEBEX_CLIENT_ID,
185
+ pass: process.env.WEBEX_CLIENT_SECRET,
186
+ sendImmediately: true,
187
+ },
188
+ /* eslint-enable camelcase */
189
+ },
190
+ (err, response) => {
191
+ if (err) {
192
+ console.warn(`Request to CI failed with non-HTTP error`);
193
+ next(err);
194
+
195
+ return;
196
+ }
197
+ if (response.statusCode >= 400) {
198
+ console.warn(`Got unexpected response from CI`);
199
+ next(new Error(response.body));
200
+
201
+ return;
202
+ }
203
+ let redirect = url.parse(req.url, true);
204
+ const qs = querystring.stringify({state: req.query.state, ...JSON.parse(response.body)});
205
+
206
+ redirect = `${redirect.pathname}#${qs}`;
207
+
208
+ console.info(`redirecting to ${redirect}`);
209
+ res.redirect(redirect);
210
+ }
211
+ );
212
+ });
213
+ app.use(`/${packageName}`, express.static(fixturePath));
214
+ });
215
+
216
+ app.post(`/refresh`, bodyParser.json(), (req, res, next) => {
217
+ if (!req.body.refresh_token) {
218
+ next(new Error(`\`refresh_token\` is required`));
219
+
220
+ return;
221
+ }
222
+ console.info(`Refreshing access token`);
223
+ request(
224
+ {
173
225
  /* eslint-disable camelcase */
174
226
  method: `POST`,
175
- uri: `${process.env.IDBROKER_BASE_URL || `https://idbroker.webex.com`}/idb/oauth2/v1/access_token`,
227
+ uri: `${
228
+ process.env.IDBROKER_BASE_URL || `https://idbroker.webex.com`
229
+ }/idb/oauth2/v1/access_token`,
176
230
  form: {
177
- grant_type: `authorization_code`,
231
+ grant_type: `refresh_token`,
178
232
  redirect_uri: process.env.WEBEX_REDIRECT_URI,
179
- code: req.query.code,
180
- self_contained_token: true
233
+ refresh_token: req.body.refresh_token,
181
234
  },
182
235
  auth: {
183
236
  user: process.env.WEBEX_CLIENT_ID,
184
237
  pass: process.env.WEBEX_CLIENT_SECRET,
185
- sendImmediately: true
186
- }
238
+ sendImmediately: true,
239
+ },
187
240
  /* eslint-enable camelcase */
188
- }, (err, response) => {
241
+ },
242
+ (err, response) => {
189
243
  if (err) {
190
244
  console.warn(`Request to CI failed with non-HTTP error`);
191
245
  next(err);
@@ -198,57 +252,11 @@ glob.sync(fixturePattern).forEach((fixturePath) => {
198
252
 
199
253
  return;
200
254
  }
201
- let redirect = url.parse(req.url, true);
202
- const qs = querystring.stringify(Object.assign({state: req.query.state}, JSON.parse(response.body)));
203
-
204
- redirect = `${redirect.pathname}#${qs}`;
205
-
206
- console.info(`redirecting to ${redirect}`);
207
- res.redirect(redirect);
208
- });
209
- });
210
- app.use(`/${packageName}`, express.static(fixturePath));
211
- });
212
-
213
- app.post(`/refresh`, bodyParser.json(), (req, res, next) => {
214
- if (!req.body.refresh_token) {
215
- next(new Error(`\`refresh_token\` is required`));
216
-
217
- return;
218
- }
219
- console.info(`Refreshing access token`);
220
- request({
221
- /* eslint-disable camelcase */
222
- method: `POST`,
223
- uri: `${process.env.IDBROKER_BASE_URL || `https://idbroker.webex.com`}/idb/oauth2/v1/access_token`,
224
- form: {
225
- grant_type: `refresh_token`,
226
- redirect_uri: process.env.WEBEX_REDIRECT_URI,
227
- refresh_token: req.body.refresh_token
228
- },
229
- auth: {
230
- user: process.env.WEBEX_CLIENT_ID,
231
- pass: process.env.WEBEX_CLIENT_SECRET,
232
- sendImmediately: true
233
- }
234
- /* eslint-enable camelcase */
235
- }, (err, response) => {
236
- if (err) {
237
- console.warn(`Request to CI failed with non-HTTP error`);
238
- next(err);
239
255
 
240
- return;
256
+ console.info(`Returning new access token`);
257
+ res.status(200).json(JSON.parse(response.body)).end();
241
258
  }
242
- if (response.statusCode >= 400) {
243
- console.warn(`Got unexpected response from CI`);
244
- next(new Error(response.body));
245
-
246
- return;
247
- }
248
-
249
- console.info(`Returning new access token`);
250
- res.status(200).json(JSON.parse(response.body)).end();
251
- });
259
+ );
252
260
  });
253
261
 
254
262
  app.use(express.static(path.resolve(__dirname, '..', `static`)));
package/src/json.js CHANGED
@@ -2,7 +2,6 @@
2
2
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
3
  */
4
4
 
5
-
6
5
  const bodyParser = require(`body-parser`);
7
6
  const express = require(`express`);
8
7
  const reflect = require(`./reflect`);
@@ -17,7 +16,7 @@ router.use(bodyParser.json());
17
16
 
18
17
  router.get(`/get`, (req, res) => {
19
18
  res.send({
20
- isObject: true
19
+ isObject: true,
21
20
  });
22
21
  });
23
22
 
package/src/redirect.html CHANGED
@@ -3,19 +3,16 @@
3
3
  <head>
4
4
  <title>Redirect Dispatcher</title>
5
5
  <script>
6
- try {
7
- var state = /state=(.+?)(&.*)?$/.exec(window.location)[1]
8
- console.info('state', state);
9
- var name = JSON.parse(atob(state)).name;
10
- console.info('name', name);
11
- window.location.pathname = name;
12
- }
13
- catch(err) {
14
- console.warn(err);
15
- }
6
+ try {
7
+ var state = /state=(.+?)(&.*)?$/.exec(window.location)[1];
8
+ console.info('state', state);
9
+ var name = JSON.parse(atob(state)).name;
10
+ console.info('name', name);
11
+ window.location.pathname = name;
12
+ } catch (err) {
13
+ console.warn(err);
14
+ }
16
15
  </script>
17
16
  </head>
18
- <body>
19
-
20
- </body>
17
+ <body></body>
21
18
  </html>
package/src/reflect.js CHANGED
@@ -2,7 +2,6 @@
2
2
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
3
  */
4
4
 
5
-
6
5
  /**
7
6
  * @param {http.IncomingMessage} req
8
7
  * @param {http.ServerResponse} res