browsermob-proxy-api-client 0.0.1 → 0.0.3

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.
@@ -0,0 +1,11 @@
1
+ import { ProxyList } from './typings/proxy';
2
+ export default class BMPClient {
3
+ readonly host: string;
4
+ readonly port: number;
5
+ constructor(host?: string, port?: number);
6
+ private httpRequest;
7
+ /***
8
+ * Get a list of ports attached to ProxyServer instances managed by ProxyManager
9
+ */
10
+ getProxyList(): Promise<ProxyList>;
11
+ }
package/dist/index.js ADDED
@@ -0,0 +1,102 @@
1
+ "use strict";
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 (g && (g = 0, op[0] && (_ = 0)), _) 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 };
40
+ };
41
+ exports.__esModule = true;
42
+ var http_1 = __importDefault(require("http"));
43
+ var BMPClient = /** @class */ (function () {
44
+ function BMPClient(host, port) {
45
+ if (host === void 0) { host = 'localhost'; }
46
+ if (port === void 0) { port = 8080; }
47
+ this.host = host;
48
+ this.port = port;
49
+ }
50
+ BMPClient.prototype.httpRequest = function (path, method, args) {
51
+ var _this = this;
52
+ if (path === void 0) { path = '/'; }
53
+ if (method === void 0) { method = 'GET'; }
54
+ if (args === void 0) { args = {}; }
55
+ return new Promise(function (resolve, reject) {
56
+ var hasPostData = ['POST', 'PUT'].includes(method) && Object.entries(args).length;
57
+ var headers = {};
58
+ if (hasPostData) {
59
+ headers['Content-Type'] = 'application/x-www-form-urlencoded';
60
+ }
61
+ var req = http_1["default"].request({
62
+ path: path,
63
+ method: method,
64
+ host: _this.host,
65
+ port: _this.port,
66
+ headers: headers
67
+ }, function (res) {
68
+ var data = [];
69
+ res.on('data', function (chunk) { return data.push(chunk); });
70
+ res.on('end', function () {
71
+ resolve(data.join());
72
+ });
73
+ });
74
+ req.on('error', function (error) { return reject(error); });
75
+ if (hasPostData) {
76
+ var params_1 = new URLSearchParams();
77
+ Object.entries(args).forEach(function (arg) { return params_1.set(arg[0], String(arg[1])); });
78
+ req.write(params_1.toString());
79
+ }
80
+ req.end();
81
+ });
82
+ };
83
+ /***
84
+ * Get a list of ports attached to ProxyServer instances managed by ProxyManager
85
+ */
86
+ BMPClient.prototype.getProxyList = function () {
87
+ return __awaiter(this, void 0, void 0, function () {
88
+ var _a, _b;
89
+ return __generator(this, function (_c) {
90
+ switch (_c.label) {
91
+ case 0:
92
+ _b = (_a = JSON).parse;
93
+ return [4 /*yield*/, this.httpRequest('/proxy', 'GET')];
94
+ case 1: return [2 /*return*/, _b.apply(_a, [_c.sent()])];
95
+ }
96
+ });
97
+ });
98
+ };
99
+ return BMPClient;
100
+ }());
101
+ exports["default"] = BMPClient;
102
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAwB;AAGxB;IAKE,mBAAY,IAAkB,EAAE,IAAW;QAA/B,qBAAA,EAAA,kBAAkB;QAAE,qBAAA,EAAA,WAAW;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEO,+BAAW,GAAnB,UACE,IAAU,EACV,MAAiD,EACjD,IAAoD;QAHtD,iBAsCC;QArCC,qBAAA,EAAA,UAAU;QACV,uBAAA,EAAA,cAAiD;QACjD,qBAAA,EAAA,SAAoD;QAEpD,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,IAAM,WAAW,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAEpF,IAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,IAAI,WAAW,EAAE;gBACf,OAAO,CAAC,cAAc,CAAC,GAAG,mCAAmC,CAAC;aAC/D;YAED,IAAM,GAAG,GAAG,iBAAI,CAAC,OAAO,CAAC;gBACvB,IAAI,MAAA;gBACJ,MAAM,QAAA;gBACN,IAAI,EAAE,KAAI,CAAC,IAAI;gBACf,IAAI,EAAE,KAAI,CAAC,IAAI;gBACf,OAAO,SAAA;aACR,EACD,UAAA,GAAG;gBACD,IAAM,IAAI,GAAa,EAAE,CAAC;gBAC1B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,UAAA,KAAK,IAAI,OAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAhB,CAAgB,CAAC,CAAC;gBAC1C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAA,KAAK,IAAI,OAAA,MAAM,CAAC,KAAK,CAAC,EAAb,CAAa,CAAC,CAAC;YAExC,IAAI,WAAW,EAAE;gBACf,IAAM,QAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBACrC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG,IAAI,OAAA,QAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAlC,CAAkC,CAAC,CAAC;gBACxE,GAAG,CAAC,KAAK,CAAC,QAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC9B;YAED,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACG,gCAAY,GAAlB;;;;;;wBACS,KAAA,CAAA,KAAA,IAAI,CAAA,CAAC,KAAK,CAAA;wBAAC,qBAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAA;4BAAzD,sBAAO,cAAW,SAAuC,EAAC,EAAC;;;;KAC5D;IAEH,gBAAC;AAAD,CAAC,AAzDD,IAyDC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "browsermob-proxy-api-client",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "MIT",
@@ -8,6 +8,11 @@
8
8
  "build": "tsc",
9
9
  "eslint": "eslint --cache --ext .ts ."
10
10
  },
11
+ "homepage": "https://github.com/raul72/browsermob-proxy-api-client/",
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git@github.com:raul72/browsermob-proxy-api-client.git"
15
+ },
11
16
  "devDependencies": {
12
17
  "@microsoft/eslint-formatter-sarif": "2.1.7",
13
18
  "@types/node": "^16",