From c1d2b0666c632712f7b2009b0cc746176cb63fa9 Mon Sep 17 00:00:00 2001 From: Alexej Yaroshevich Date: Fri, 6 Dec 2013 18:48:40 +0400 Subject: [PATCH] dirty commit for issue #3 --- app.js | 43 ++++-------------------------------- index.js | 16 ++++++++++++++ lib/bem-render-middleware.js | 2 +- package.json | 2 +- 4 files changed, 22 insertions(+), 41 deletions(-) create mode 100644 index.js diff --git a/app.js b/app.js index 6ffe628..c37d129 100644 --- a/app.js +++ b/app.js @@ -1,47 +1,12 @@ -var http = require('http') - , bemRender = require('lib/bem-render-middleware') +var bemRender = require('lib/bem-render-middleware') , httpProxy = require('http-proxy'); httpProxy.createServer( - bemRender.pages('pages'), + bemRender.bundles('pages'), function (req, res, next) { res.setHeader('X-Powered-By', 'bem-proxy'); next(); }, - 9000, 'localhost' -).listen(8001); - -http.createServer(function (req, res) { - require('fs').readFile('bem-examples/www/pages/example/example.bemjson.js', function (err, data) { - if (err) { - res.writeHead(500); - res.end('Something went wrong: ' + e.message); - res.end(); - return; - } - res.writeHead(200, { 'Content-Type': 'application/x-bemjson' }); - res.write(data); - res.end(); - }); -}).listen(9000); - -/* -http.createServer(function (req, res) { - http.get("http://interactive-answers.yandex.ru/api/2.x/site/d89cda99-274e-47be-abe5-ac0ed339a083/search", function (gres) { - res.writeHead(200, { 'Content-Type': 'application/x-bemjson' }); - res.write('request successfully proxied: ' + req.url +'\n'); - res.write(JSON.stringify(req.headers, true, 2)); - res.write(JSON.stringify(gres.headers, true, 2)); - gres.on('data', function (chunk) { - res.write(chunk); - }); - gres.on('end', function (chunk) { - res.end(); - }); - }).on('error', function (e) { - res.writeHead(500); - res.end('Something went wrong: ' + e.message); - }); -}).listen(9000); -*/ + 80, 'localhost' +).listen(process.env.NODE_PORT); diff --git a/index.js b/index.js new file mode 100644 index 0000000..70bd44a --- /dev/null +++ b/index.js @@ -0,0 +1,16 @@ + +var bemRender = require('lib/bem-render-middleware') + , httpProxy = require('http-proxy'); + +exports.createServer = function (path, port, host) { + port = port || 80; + host = host || 'localhost'; + return httpProxy.createServer( + bemRender.bundles(path), + function (req, res, next) { + res.setHeader('X-Powered-By', 'bem-proxy'); + next(); + }, + port, host + ); +}; diff --git a/lib/bem-render-middleware.js b/lib/bem-render-middleware.js index cb3be46..a68793d 100644 --- a/lib/bem-render-middleware.js +++ b/lib/bem-render-middleware.js @@ -1,6 +1,6 @@ /* jshint: node */ -exports.pages = function (path) { +exports.bundles = function (path) { "use strict"; var bemRenderContentType = 'application/x-bemjson'; diff --git a/package.json b/package.json index 7a31e75..5e055aa 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "url": "https://github.com/zxqfox/bem-proxy/issues" }, "dependencies": { - "bem": "~0.6.16", + "bem": "~1.0.0", "http-proxy": "~0.10.3" }, "devDependencies": {