openURLMiddleware.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. function _cliTools() {
  7. const data = require("@react-native-community/cli-tools");
  8. _cliTools = function () {
  9. return data;
  10. };
  11. return data;
  12. }
  13. function _connect() {
  14. const data = _interopRequireDefault(require("connect"));
  15. _connect = function () {
  16. return data;
  17. };
  18. return data;
  19. }
  20. var _rawBodyMiddleware = _interopRequireDefault(require("./rawBodyMiddleware"));
  21. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  22. /**
  23. * Copyright (c) Facebook, Inc. and its affiliates.
  24. *
  25. * This source code is licensed under the MIT license found in the
  26. * LICENSE file in the root directory of this source tree.
  27. */
  28. /**
  29. * Handle request from JS to open an arbitrary URL in Chrome
  30. */
  31. function openURLMiddleware(req, res, next) {
  32. if (!req.rawBody) {
  33. return next(new Error('missing request body'));
  34. }
  35. const {
  36. url
  37. } = JSON.parse(req.rawBody);
  38. _cliTools().logger.info(`Opening ${url}...`);
  39. (0, _cliTools().launchDefaultBrowser)(url);
  40. res.end('OK');
  41. }
  42. var _default = (0, _connect().default)().use(_rawBodyMiddleware.default).use(openURLMiddleware);
  43. exports.default = _default;
  44. //# sourceMappingURL=openURLMiddleware.js.map