UNPKG

ember-cli-toranb

Version:

Command line tool for developing ambitious ember.js apps

39 lines (30 loc) 933 B
'use strict'; function ProxyServerAddon(project) { this.project = project; this.name = 'proxy-server-middleware'; } ProxyServerAddon.prototype.serverMiddleware = function(options) { var app = options.app, server = options.options.httpServer; options = options.options; if (options.proxy) { var urlOpts = require('url').parse(options.proxy); var proxy = require('http-proxy').createProxyServer({ target: { host: urlOpts.hostname, port: urlOpts.port }, ws: true }); var morgan = require('morgan'); options.ui.writeLine('Proxying to ' + options.proxy); server.on('upgrade', function (req, socket, head) { options.ui.writeLine('Proxying websocket to ' + req.url); proxy.ws(req, socket, head); }); app.use(morgan('dev')); app.use(function(req, res) { return proxy.web(req, res); }); } }; module.exports = ProxyServerAddon;