client.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. const http = require("http");
  4. const url = require("url");
  5. const blockingproxy_1 = require("./blockingproxy");
  6. class BPClient {
  7. constructor(bpUrlValue) {
  8. let bpUrl = url.parse(bpUrlValue);
  9. this.hostname = bpUrl.hostname;
  10. this.port = parseInt(bpUrl.port);
  11. }
  12. /**
  13. * Toggle whether waiting for Angular is enabled.
  14. *
  15. * @param enabled Whether or not to enable waiting for angular.
  16. * @returns {Promise<T>}
  17. */
  18. setWaitEnabled(enabled) {
  19. return new Promise((resolve, reject) => {
  20. let options = { host: this.hostname, port: this.port, method: 'POST', path: `/${blockingproxy_1.BP_PREFIX}/waitEnabled` };
  21. let request = http.request(options, (response) => {
  22. response.on('data', () => { });
  23. response.on('error', (err) => reject(err));
  24. response.on('end', () => {
  25. resolve();
  26. });
  27. });
  28. request.write(JSON.stringify({ value: enabled }));
  29. request.end();
  30. });
  31. }
  32. /**
  33. * Set the selector used to find the root element of the Angular application to wait for. See
  34. * AngularWaitBarrier for more details.
  35. *
  36. * @param selector A selector, or empty string to wait for all Angular apps.
  37. */
  38. setWaitParams(rootSelector) {
  39. return new Promise((resolve, reject) => {
  40. let options = { host: this.hostname, port: this.port, method: 'POST', path: `/${blockingproxy_1.BP_PREFIX}/waitParams` };
  41. let request = http.request(options, (response) => {
  42. response.on('data', () => { });
  43. response.on('error', (err) => reject(err));
  44. response.on('end', () => {
  45. resolve();
  46. });
  47. });
  48. request.write(JSON.stringify({ rootSelector: rootSelector }));
  49. request.end();
  50. });
  51. }
  52. isWaitEnabled() {
  53. return new Promise((res) => {
  54. let options = { host: this.hostname, port: this.port, path: `/${blockingproxy_1.BP_PREFIX}/waitEnabled` };
  55. http.get(options, (response) => {
  56. let body = '';
  57. response.on('data', (data) => {
  58. body += data;
  59. });
  60. response.on('end', () => {
  61. res(JSON.parse(body).value);
  62. });
  63. });
  64. });
  65. }
  66. }
  67. exports.BPClient = BPClient;
  68. //# sourceMappingURL=client.js.map