handleProxyOption.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var url = require("url");
  4. var immutable_1 = require("immutable");
  5. function handleProxyOption(incoming) {
  6. var value = incoming.get('proxy');
  7. var mw;
  8. var target;
  9. if (!value || value === true) {
  10. return [incoming, []];
  11. }
  12. if (typeof value !== "string") {
  13. target = value.get("target");
  14. mw = value.get("middleware");
  15. }
  16. else {
  17. target = value;
  18. value = immutable_1.Map({});
  19. }
  20. if (!target.match(/^(https?):\/\//)) {
  21. target = "http://" + target;
  22. }
  23. var parsedUrl = url.parse(target);
  24. if (!parsedUrl.port) {
  25. parsedUrl.port = "80";
  26. }
  27. var out = {
  28. target: parsedUrl.protocol + "//" + parsedUrl.host,
  29. url: immutable_1.Map(parsedUrl)
  30. };
  31. if (mw) {
  32. out.middleware = mw;
  33. }
  34. var proxyOutput = value.mergeDeep(out);
  35. return [incoming.set('proxy', proxyOutput), []];
  36. }
  37. exports.handleProxyOption = handleProxyOption;
  38. //# sourceMappingURL=handleProxyOption.js.map