Skip to content

Commit

Permalink
add proxy
Browse files Browse the repository at this point in the history
  • Loading branch information
jhchen committed Feb 13, 2016
1 parent 3badf8c commit eb9d7fd
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 12 deletions.
14 changes: 7 additions & 7 deletions _develop/karma.config.js
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
var _ = require('lodash');
// var browsers = require('./browsers');
var browsers = require('./browsers');
var sauce = require('./sauce');


module.exports = function(config) {
config.set({
basePath: '../',
urlRoot: '/karma/',
port: 9876,

files: [
'http://cdn.dev.quilljs.com/unit.js',
'http://cdn.dev.quilljs.com/quill.css',
'http://localhost:9000/webpack/quill.css',
'http://localhost:9000/webpack/unit.js'
],

frameworks: ['jasmine'],
reporters: ['progress'],
colors: true,
autoWatch: false,
singleRun: true,

// browsers: ['Chrome'],
singleRun: false,

coverageReporter: {
dir: '.build/coverage',
Expand All @@ -38,7 +38,7 @@ module.exports = function(config) {
accessKey: sauce.accessKey,
tunnelIdentifier: sauce.tunnel
},
// customLaunchers: browsers
customLaunchers: browsers
});
if (process.env.TRAVIS) {
config.transports = ['polling'];
Expand Down
4 changes: 3 additions & 1 deletion _develop/procfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
jekyll: jekyll serve -s ../../quilljs.github.io -d ../../quilljs.github.io/_site -p 4000 -w
webpack: webpack-dev-server --config webpack.config.js --port 9000
karma: karma start karma.config.js
webpack: webpack-dev-server --config webpack.config.js
proxy: node proxy.js
31 changes: 31 additions & 0 deletions _develop/proxy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
var http = require('http');
var httpProxy = require('http-proxy');

var FAVICON = new Buffer('iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACf0lEQVR42r2XS2gTURSG04K2VReilorEECVKiJk8EYuurIgPEFddKW4El1J3FbRUEOzKKuhKdy4Uql0H0UVxoYIKkoWCrxaKz1qKTayNYv0O3IEhzNzecSYz8HNnJpPz3XPm3HPuxGIRHNlstqdQKBwul8tDpVLpDprg/BV63hJgPB7vAngU0HX0BtCSh76FCs7n89sBjqJZDfS343whFHCxWNyEsZvojwb8jok9YKw77tUDwzF6CtW8wPw2zwQvMN51+f3jf4MzmcwaDIxpPBb4S8Zd6JHHM9UgIa/q4OgqObFDQq+Z4G3fcLJ77TLwBSZ4gueSACaXmeRZv2FfidGHGo9+MO7N5XJbDOBLRKjoN+Eu69Y0Xu80haO3mGzzAz+I/np4Pk3YMwLnesoALv8ZMIYnk8lOTTLNCNyyrK2mcPQerTKeAA8PenhRQ70+4T95Vbv9rvcZF0MNPD/EmNDBmeB3qYDSF7geAb7fb+KdcTMM/CTjBtXVnMAv6BY6ThfcHLjUYvS1i1ejKjJPm+7PomP8rT2UJiPvygVekXbL+X3Ne37BcwfCaDRXmuCT6XR6vWwqDJdaRVZQkAl8cPZxIrKHe9cM4Z9RX5DwF5qMnlcygY+TpN1Bwz/sMPpEst6rEjqTUBpRKAmIscfK6C/G07LuNfCG5AsrY10ocGr6ahsoPZtxzsPjRcYbUglD3VwSxn12b0efXMBfVWdMtGRbLXs4j7o/Ltttrle07CNCdT57xyNldkSWUyqV6ojiI6YN2D17wyi5EIvyIPTnFHyOUG+LFA60X9a50pGo4ZZ8QCjvL0Ud9m675kvzCK2V+qh4F9Ez+Xqhkm2MRXz8AzAAXszjgRshAAAAAElFTkSuQmCC', 'base64');

var proxy = httpProxy.createProxyServer({});

var server = http.createServer(function(req, res) {
var parts = req.url.split('/');
var first = parts[1];
if (first === 'favicon.png') {
res.setHeader('Content-Type', 'image/png');
res.end(FAVICON);
} else if (first === 'karma') {
proxy.web(req, res, { ignorePath: false, target: { port: 9876 } });
} else if (/\d+\.\d+\.\d+/.test(first) || first === 'webpack') {
proxy.web(req, res, {
ignorePath: true,
target: 'http://localhost:9080/' + parts.slice(2).join('/')
});
} else {
proxy.web(req, res, { ignorePath: false, target: { port: 4000 } });
}
});

server.on('upgrade', function (req, socket, head) {
proxy.ws(req, socket, head);
});

console.log('Proxy listening on 9000');
server.listen(9000);
1 change: 1 addition & 0 deletions _develop/webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ module.exports = {
devtool: 'source-map',
devServer: {
hot: false,
port: 9080,
stats: {
assets: false,
chunks: false,
Expand Down
6 changes: 2 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,19 @@
"karma": "~0.13.19",
"karma-chrome-launcher": "~0.2.2",
"karma-coverage": "~0.5.3",
"karma-firefox-launcher": "~0.1.7",
"karma-jasmine": "~0.3.6",
"karma-safari-launcher": "~0.1.1",
"karma-sauce-launcher": "~0.3.0",
"lodash": "^4.3.0",
"node-http-proxy": "~0.2.3",
"protractor": "^3.1.1",
"style-loader": "^0.13.0",
"style-loader": "~0.13.0",
"stylus-loader": "^1.5.1",
"ts-loader": "~0.8.0",
"typescript": "^1.7.5",
"webpack": "^1.12.11",
"webpack-dev-server": "^1.14.1"
},
"scripts": {
"build": "gulp source --gulpfile _develop/gulpfile.js",
"start": "foreman start -f _develop/procfile",
"test": "karma start _develop/karma.config.js"
},
Expand Down

0 comments on commit eb9d7fd

Please sign in to comment.