{"_id":"http-rewrite-middleware","_rev":"37-ead737d47d2bbcc87a1cf021c1330a56","name":"http-rewrite-middleware","description":"Nginx-inspired (RegExp-based) HTTP Rewrite Middleware for the Connect and Express webservers.","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.0":{"name":"http-rewrite-middleware","description":"Nginx-inspired (RegExp-based) HTTP Rewrite Middleware for the Connect and Express webservers.","version":"0.1.0","homepage":"https://github.com/viart/http-rewrite-middleware","author":{"name":"Artem Vitiuk","email":"artem@devart.in.ua"},"repository":{"type":"git","url":"git@github.com:viart/http-rewrite-middleware.git"},"bugs":{"url":"https://github.com/viart/http-rewrite-middleware/issues"},"licenses":[{"type":"MIT","url":"https://github.com/viart/http-rewrite-middleware/blob/master/LICENSE-MIT"}],"main":"index.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.7.1","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","grunt-contrib-connect","grunt-express","modrewrite","rewriterule","rewrite","route","connect","express"],"_id":"http-rewrite-middleware@0.1.0","dist":{"shasum":"651af1bd84b47bf69ac5cc41173247a09b728de1","tarball":"https://registry.npmjs.org/http-rewrite-middleware/-/http-rewrite-middleware-0.1.0.tgz","integrity":"sha512-Yy3i+Sv8NFc1Zzuvtbq90LfvYWzkV4zFKkByg2d3Ha86M4Upwc217krbF9r8cFP8NPhlxFgbQ7FP4weQ4/2Qjw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSTkgfNgz3f+fGeSpi0SrX5HiFdWaUcoqn7QIsQFBx8wIhAMmfsZg2YX1wSml4cRv3x7LGzQuAU0sjePKq4a5E5Aa0"}]},"_from":".","_npmVersion":"1.3.17","_npmUser":{"name":"viart","email":"artem@devart.in.ua"},"maintainers":[{"name":"viart","email":"artem@devart.in.ua"}],"directories":{}},"0.1.1":{"name":"http-rewrite-middleware","description":"Nginx-inspired (RegExp-based) HTTP Rewrite Middleware for the Connect and Express webservers.","version":"0.1.1","homepage":"https://github.com/viart/http-rewrite-middleware","author":{"name":"Artem Vitiuk","email":"artem@devart.in.ua"},"repository":{"type":"git","url":"git@github.com:viart/http-rewrite-middleware.git"},"bugs":{"url":"https://github.com/viart/http-rewrite-middleware/issues"},"licenses":[{"type":"MIT","url":"https://github.com/viart/http-rewrite-middleware/blob/master/LICENSE-MIT"}],"main":"index.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.7.1","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","grunt-contrib-connect","grunt-express","modrewrite","rewriterule","rewrite","route","connect","express"],"_id":"http-rewrite-middleware@0.1.1","dist":{"shasum":"d8336aeebddd76c715aaffa430ae2c25217cd5f8","tarball":"https://registry.npmjs.org/http-rewrite-middleware/-/http-rewrite-middleware-0.1.1.tgz","integrity":"sha512-9vEdzSzVh4sRHAz77Zv193n3wyHjTb/nLnCdTGOf94oolAeIld5xhp/0gPEGLurOSfMHT2chvPQBB6klrbHKjw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQejzT9X5TPIgn8ZE7cXFHPVxW9S+e2IZmHzCSMUYqxAIgO2ywhBoo3/0vzo+DCodJrjZC15EaAq7h9zwixhdhgWo="}]},"_from":".","_npmVersion":"1.3.17","_npmUser":{"name":"viart","email":"artem@devart.in.ua"},"maintainers":[{"name":"viart","email":"artem@devart.in.ua"}],"directories":{}},"0.1.2":{"name":"http-rewrite-middleware","description":"Nginx-inspired (RegExp-based) HTTP Rewrite Middleware for the Connect and Express webservers.","version":"0.1.2","homepage":"https://github.com/viart/http-rewrite-middleware","author":{"name":"Artem Vitiuk","email":"artem@devart.in.ua"},"repository":{"type":"git","url":"git@github.com:viart/http-rewrite-middleware.git"},"bugs":{"url":"https://github.com/viart/http-rewrite-middleware/issues"},"licenses":[{"type":"MIT","url":"https://github.com/viart/http-rewrite-middleware/blob/master/LICENSE-MIT"}],"main":"index.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.7.1","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","grunt-contrib-connect","grunt-express","modrewrite","rewriterule","rewrite","route","connect","express"],"_id":"http-rewrite-middleware@0.1.2","dist":{"shasum":"f514f034a9ff91542440420835452a402649f6e8","tarball":"https://registry.npmjs.org/http-rewrite-middleware/-/http-rewrite-middleware-0.1.2.tgz","integrity":"sha512-3j19HiVj6xlgY/XZlcGdOVLrKBDIq2tcbg6gz+jgGBa0dE88XF1GwW+ChXtCcXtVjjgdh4Hu4e/LB4yFVunUVQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHkeADc32YQaGxi89xrvU4MloUIPuLhMEoVgwZ7zr1gvAiA74S1flpmsRWRJO5/E0BIHdrDpgBqRdyW54ZFNlS5mkA=="}]},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"viart","email":"artem@devart.in.ua"},"maintainers":[{"name":"viart","email":"artem@devart.in.ua"}],"directories":{}},"0.1.3":{"name":"http-rewrite-middleware","description":"Nginx-inspired (RegExp-based) HTTP Rewrite Middleware for the Connect and Express webservers.","version":"0.1.3","homepage":"https://github.com/viart/http-rewrite-middleware","author":{"name":"Artem Vitiuk","email":"artem@devart.in.ua"},"repository":{"type":"git","url":"git@github.com:viart/http-rewrite-middleware.git"},"bugs":{"url":"https://github.com/viart/http-rewrite-middleware/issues"},"licenses":[{"type":"MIT","url":"https://github.com/viart/http-rewrite-middleware/blob/master/LICENSE-MIT"}],"main":"index.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.7.1","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","grunt-contrib-connect","grunt-express","modrewrite","rewriterule","rewrite","route","connect","express"],"_id":"http-rewrite-middleware@0.1.3","dist":{"shasum":"f8b2436be36299e376d5e6a1313ebda3a62a9a88","tarball":"https://registry.npmjs.org/http-rewrite-middleware/-/http-rewrite-middleware-0.1.3.tgz"},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"viart","email":"artem@devart.in.ua"},"maintainers":[{"name":"viart","email":"artem@devart.in.ua"}]},"0.1.4":{"name":"http-rewrite-middleware","description":"Nginx-inspired (RegExp-based) HTTP Rewrite Middleware for the Connect and Express webservers.","version":"0.1.4","homepage":"https://github.com/viart/http-rewrite-middleware","author":{"name":"Artem Vitiuk","email":"artem@devart.in.ua"},"repository":{"type":"git","url":"git@github.com:viart/http-rewrite-middleware.git"},"bugs":{"url":"https://github.com/viart/http-rewrite-middleware/issues"},"licenses":[{"type":"MIT","url":"https://github.com/viart/http-rewrite-middleware/blob/master/LICENSE-MIT"}],"main":"index.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.7.1","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","grunt-contrib-connect","grunt-express","modrewrite","rewriterule","rewrite","route","connect","express"],"_id":"http-rewrite-middleware@0.1.4","dist":{"shasum":"e2877d12ad9b929ea819923c65359e8cce9b6e11","tarball":"https://registry.npmjs.org/http-rewrite-middleware/-/http-rewrite-middleware-0.1.4.tgz"},"_from":".","_npmVersion":"1.3.26","_npmUser":{"name":"viart","email":"artem@devart.in.ua"},"maintainers":[{"name":"viart","email":"artem@devart.in.ua"}]},"0.1.5":{"name":"http-rewrite-middleware","description":"Nginx-inspired (RegExp-based) HTTP Rewrite Middleware for the Connect and Express webservers.","version":"0.1.5","homepage":"https://github.com/viart/http-rewrite-middleware","author":{"name":"Artem Vitiuk","email":"artem@devart.in.ua"},"repository":{"type":"git","url":"git@github.com:viart/http-rewrite-middleware.git"},"bugs":{"url":"https://github.com/viart/http-rewrite-middleware/issues"},"licenses":[{"type":"MIT","url":"https://github.com/viart/http-rewrite-middleware/blob/master/LICENSE-MIT"}],"main":"index.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.7.1","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"keywords":["gruntplugin","grunt-contrib-connect","grunt-express","modrewrite","rewriterule","rewrite","route","connect","express"],"_id":"http-rewrite-middleware@0.1.5","dist":{"shasum":"88cfff13b7e54c12b30ddab13fc7a012fe5f1e0a","tarball":"https://registry.npmjs.org/http-rewrite-middleware/-/http-rewrite-middleware-0.1.5.tgz","integrity":"sha512-/ZOMzpLQMjag2/L+R3tj4uEcBEShdA8xu09fRkYXJ1DiWuJxaqQaDGkPl08jj1T1+WE21KAjNBhaunQvtKN2/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIATTR9WXRdczRrk4qD2Gfg6wga8XFyvadv+4eC3bjTxkAiEAtDPZUEQxVcujyRIIeGa9KQvgxSFojD58TXl8PI7gB1I="}]},"_from":".","_npmVersion":"1.3.26","_npmUser":{"name":"viart","email":"artem@devart.in.ua"},"maintainers":[{"name":"viart","email":"artem@devart.in.ua"}]},"0.1.6":{"name":"http-rewrite-middleware","description":"Nginx-inspired (RegExp-based) HTTP Rewrite Middleware for the Connect and Express webservers.","version":"0.1.6","homepage":"https://github.com/viart/http-rewrite-middleware","author":{"name":"Artem Vitiuk","email":"artem@devart.in.ua"},"repository":{"type":"git","url":"git@github.com:viart/http-rewrite-middleware.git"},"bugs":{"url":"https://github.com/viart/http-rewrite-middleware/issues"},"licenses":[{"type":"MIT","url":"https://github.com/viart/http-rewrite-middleware/blob/master/LICENSE-MIT"}],"main":"index.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.7.1","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1"},"keywords":["gruntplugin","grunt-contrib-connect","grunt-express","modrewrite","rewriterule","rewrite","route","connect","express"],"gitHead":"21d1d64dc091957b5352afe983189380bcddf2a9","_id":"http-rewrite-middleware@0.1.6","_shasum":"cb2965aafa91ebd4c610b99580aa187812da107c","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"viart","email":"artem@devart.in.ua"},"maintainers":[{"name":"viart","email":"artem@devart.in.ua"}],"dist":{"shasum":"cb2965aafa91ebd4c610b99580aa187812da107c","tarball":"https://registry.npmjs.org/http-rewrite-middleware/-/http-rewrite-middleware-0.1.6.tgz","integrity":"sha512-SniaxReUD1pNMYkSKujwE33v9dnN5bh+85KyKPfG38tWIeMlOaHrcvdlZfmesjRnETZczKAQ/S5+7hywoLT8Zg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmieN/N7OH8EQQwD5A/02WtuNEiaJ9f0pkuc2bpyyh6wIgFCxdohqQwFYdPygxOsIR4kqFFNhpZjfkDuiP3Uo7SnI="}]}}},"readme":"# http-rewrite-middleware v0.1.5 [![Build Status](https://travis-ci.org/viart/http-rewrite-middleware.png?branch=master)](https://travis-ci.org/viart/http-rewrite-middleware)\n\n> This module makes it possible to redirect (rewrite internally or redirect using HTTP codes) User to the specific URL based on RegExp Rules.\n> The designated successor of [grunt-connect-rewrite](https://github.com/viart/grunt-connect-rewrite).\n\n## Getting Started\n* Install the middleware by running:\n\n    ```shell\n    npm install http-rewrite-middleware --save\n    ```\n\n* Include the module:\n\n    ```js\n    var rewriteModule = require('http-rewrite-middleware');\n    ```\n\n* Define your rules like:\n\n    ```js\n    var rewriteMiddleware = rewriteModule.getMiddleware([\n        // Internal rewrite\n        {from: '^/index_dev.html$', to: '/src/index.html'},\n        // Internal rewrite\n        {from: '^/js/(.*)$', to: '/src/js/$1'},\n        // 301 Redirect\n        {from: '^/old-stuff/(.*)$', to: '/new-cool-stuff/$1', redirect: 'permanent'},\n        // 302 Redirect\n        {from: '^/stuff/(.*)$', to: '/temporary-stuff/$1', redirect: 'temporary'}\n    ]);\n    ```\n\n* See examples of integration with Connect / Express / Grunt bellow.\n\n### Options\n\n##### Rule's format:\n\n`{from: '__from__', to: '__to__'[, redirect: 'permanent'|'temporary']}`\n\nWhere:\n* `__from__` - RegExp string to match.\n* `__to__` - String that replaces matched URL.\n* `redirect` - Optional parameter:\n    * When it is omitted then the Rule will be dispatched as an internal rewrite (aka proxified).\n    * If the value is set then Browser will receive HTTP `Location` Header with value of parsed `__to__` (`permanent` value will give `HTTP 301`, any other value will give `HTTP 302`).\n\n### Example of usage with Connect\n\n```js\nvar connect = require('connect'),\n    http = require('http'),\n    rewriteModule = require('http-rewrite-middleware');\n\nvar app = connect()\n    .use(rewriteModule.getMiddleware([\n        // ... list of rules here\n    ])\n    .use(connect.static('public'));\n\nhttp.createServer(app).listen(3000);\n```\n\n### Example of usage with Express\n\n```js\nvar express = require('express'),\n    app = express(),\n    rewriteModule = require('http-rewrite-middleware');\n\napp.use(rewriteModule.getMiddleware([\n    // ... list of rules here\n]);\n\n//...\napp.listen(3000);\n```\n\n### Example of usage with Grunt ([grunt-contrib-connect](https://github.com/gruntjs/grunt-contrib-connect))\n\n```js\nvar rewriteModule = require('http-rewrite-middleware');\n\ngrunt.initConfig({\n    connect: {\n        options: {\n            port: 9000,\n            hostname: 'localhost'\n        },\n        development: {\n            options: {\n                middleware: function (connect, options) {\n                    var middlewares = [];\n\n                    // RewriteRules support\n                    middlewares.push(rewriteModule.getMiddleware([\n                        // ... list of rules here\n                    ]));\n\n                    if (!Array.isArray(options.base)) {\n                        options.base = [options.base];\n                    }\n\n                    var directory = options.directory || options.base[options.base.length - 1];\n                    options.base.forEach(function (base) {\n                        // Serve static files.\n                        middlewares.push(connect.static(base));\n                    });\n\n                    // Make directory browse-able.\n                    middlewares.push(connect.directory(directory));\n\n                    return middlewares;\n                }\n            }\n        }\n    }\n});\n```\n\n\n## Debugging\n\nIn order to debug Rules just add 2nd parameter to the `getMiddleware(...)` call\nas `getMiddleware(..., {verbose: true})` this will enable logging of matched rules.\nThe message will explain which `__from__` rule was matched and what was the result of the rewrite.\n\n\n## Contributing\n\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.\n\n\n## Release History\n* 2014.02.13 `v0.1.6` Improve logging format\n* 2014.02.13 `v0.1.5` Fix NPM...\n* 2014.01.29 `v0.1.3` Add logging support\n* 2013.12.17 `v0.1.1` Initial Release\n","maintainers":[{"email":"artem@vitiuk.me","name":"viart"}],"time":{"modified":"2022-07-13T13:26:55.166Z","created":"2013-12-17T00:32:28.378Z","0.1.0":"2013-12-17T00:32:32.155Z","0.1.1":"2013-12-17T00:43:10.292Z","0.1.2":"2014-01-29T20:59:23.908Z","0.1.3":"2014-01-30T16:21:03.539Z","0.1.4":"2014-02-11T20:51:41.520Z","0.1.5":"2014-02-12T22:40:03.466Z","0.1.6":"2014-06-26T12:50:00.396Z"},"author":{"name":"Artem Vitiuk","email":"artem@devart.in.ua"},"repository":{"type":"git","url":"git@github.com:viart/http-rewrite-middleware.git"},"readmeFilename":"README.md","homepage":"https://github.com/viart/http-rewrite-middleware","keywords":["gruntplugin","grunt-contrib-connect","grunt-express","modrewrite","rewriterule","rewrite","route","connect","express"],"bugs":{"url":"https://github.com/viart/http-rewrite-middleware/issues"},"users":{"lamentchina":true,"plasticmind":true}}