UNPKG

bricks-cli

Version:

Command line tool for developing ambitious ember.js apps

36 lines (28 loc) 1.08 kB
'use strict'; var historySupportMiddlware = require('./history-support'); var cleanBaseURL = require('../../../utilities/clean-base-url'); module.exports = function(options) { var chain = options.chain || require('connect-chain'); var broccoliMiddleware = options.middleware || require('broccoli/lib/middleware'); var middleware = chain( historySupportMiddlware(), broccoliMiddleware(options.watcher) ); var baseURL = cleanBaseURL(options.baseURL); return function(req, res, next) { var oldURL = req.url; var actualPrefix = req.url.slice(0, baseURL.length - 1); // Don't care var expectedPrefix = baseURL.slice(0, baseURL.length - 1); // about last slash if (actualPrefix === expectedPrefix) { req.url = req.url.slice(actualPrefix.length); // Remove baseURL prefix // Serve file, if no file has been found, reset url for proxy stuff // that comes afterwards middleware(req, res, function(err) { req.url = oldURL; next(err); }); } else { next(); } }; };