New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ee-soa-transport-rewrite

Package Overview
Dependencies
Maintainers
2
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ee-soa-transport-rewrite - npm Package Compare versions

Comparing version 0.1.0 to 0.1.1

lib/loader/RequestRewriteLoader.js

30

lib/loader/FilterLoader.js

@@ -12,11 +12,29 @@ "use strict";

, _comparator: null
, _loaderKeyFun: null
, _filterKeyFun: null
, init: function initialize(comparator, loader) {
, init: function initialize(comparator, loader, options) {
this._loader = loader;
this._comparator = Comparator.createComparator(comparator);
options = options || {};
this._loaderKeyFun = options.prepareLoaderKey || null;
this._filterKeyFun = options.prepareFilterKey || null;
}
, _prepareLoaderKey: function(key){
return Types.function(this._loaderKeyFun)
? this._loaderKeyFun.call(null, key) : key;
}
, _prepareFilterKey: function(key){
return Types.function(this._filterKeyFun)
? this._filterKeyFun.call(null, key) : key;
}
, load: function(key, callback){
this._loader.load(key, function(error, rules){
var loaderKey = this._prepareLoaderKey(key);
this._loader.load(loaderKey, function(error, rules){
if(error){

@@ -27,7 +45,7 @@ return callback(error, null);

try {
var filtered = rules.filter(function(current){
var filterKey = this._prepareFilterKey(key),
filtered = rules.filter(function(current){
var result = this._comparator.call(null, filterKey, current);
return result === true;
var result = this._comparator.call(null, key, current);
return result === true;
}.bind(this));

@@ -34,0 +52,0 @@ callback(null, filtered);

1

lib/loader/index.js

@@ -5,3 +5,4 @@ module.exports.InMemoryLoader = require('./InMemoryLoader');

module.exports.TransformingLoader = require('./TransformingLoader');
module.exports.RequestRewriteLoader = require('./RequestRewriteLoader');
module.exports.RewriteLoader = require('./RewriteLoader');
module.exports.FilterLoader = require('./FilterLoader');

@@ -5,5 +5,3 @@ "use strict";

var TransformingLoader = require('./TransformingLoader'),
FilterLoader = require('./FilterLoader'),
transformers = require('../transformer'),
var FilterLoader = require('./FilterLoader'),
Comparator = require('../comparator');

@@ -13,17 +11,5 @@

/*inherits: TransformingLoader
inherits: FilterLoader
, init : function initialize(rules, comp){
comp = comp || 'key';
var transformer = new transformers.FilterTransformer(comp);
initialize.super.call(this, transformer, {
load: function(key, callback){
return callback(null, rules);
}
});
}*/
inherits: FilterLoader
, init: function initialize(rules, comp){
var comparator = Comparator.createComparator(comp);
initialize.super.call(this, comp, {

@@ -30,0 +16,0 @@ load: function(key, callback){

"use strict";
var Class = require('ee-class'),
TransformingLoader = require('./TransformingLoader');
var Class = require('ee-class');
var rewrites = require('../rewrite');
var TransformingLoader = require('./TransformingLoader'),
transformers = require('../transformer'),
rewrites = require('../rewrite');

@@ -12,7 +13,7 @@ var RewriteLoader = {

, _map: null
, init: function initialize(loader, classMapExtension){
var map = this._createMap(classMapExtension),
factory = new transformers.FactoryTransformer(map);
, init: function initialize(loader, classMapExtension){
initialize.super.call(this, this, loader);
this._map = this._createMap(classMapExtension);
initialize.super.call(this, factory, loader);
}

@@ -28,2 +29,3 @@

, extend: rewrites.Extend
, path: rewrites.Path
};

@@ -37,27 +39,4 @@

}
, _transform: function(key, result, callback){
var len = result.length;
var last = null;
for(var i=0;i<len;i++){
var rule = result[i];
var rew = this._createInstance(rule);
if(last === null){
last = rew;
} else {
last.then(rew);
}
}
callback(null, last);
}
, _createInstance: function(rule){
var mapped = this._map[rule.name];
if(!(rule.name in this._map)){
mapped = rewrites.Rewrite;
}
return new mapped(rule, this);
}
};
module.exports = new Class(RewriteLoader);

@@ -30,3 +30,3 @@ "use strict";

if(err){
callback(err, null);
return callback(err, null);
}

@@ -33,0 +33,0 @@ this._transform(key, result, callback);

@@ -17,3 +17,3 @@ "use strict";

, init: function initialize(loader) {
this.loader = new loaders.RewriteLoader(loader);
this.loader = new loaders.RewriteLoader(new loaders.RequestRewriteLoader(loader));
}

@@ -26,5 +26,3 @@

, request: function(request, response, next){
var key = request.hostname;
this.loader.load(key, function(err, result){
this.loader.load(request, function(err, result){
if(err){

@@ -31,0 +29,0 @@ throw err;

"use strict";
var Class = require('ee-class'),
Rewrite = require('./Rewrite');
Types = require('ee-types');
var Rewrite = require('./Rewrite');
var Path = {
inherits: Rewrite
, pattern: null
, _name: 'path'
, init: function initialize (rule, loader){
initialize.super.call(this, rule, loader);
this.pattern = new RegExp(this.field);
}
, _execute: function(request, callback){
var pathname = request.pathname,
path = this.path,
target = this.value;
, _execute: function(request, callback){
var pathname = request.pathname;
request.pathname = pathname.replace(this.pattern, this.value);
if(Types.regexp(path)){
target = pathname.replace(path, this.value);
}
request.pathname = target;
callback(null);

@@ -21,0 +24,0 @@ }

@@ -11,3 +11,3 @@ "use strict";

, _value: null
, _url: null
, _path: null
, _priority: null

@@ -38,4 +38,4 @@ , _loader: null

, url: {
get: function() {return this._url; }
, path: {
get: function() {return this._path; }
}

@@ -49,3 +49,3 @@ , init: function(rule, loader){

this._priority = rule.priority;
this._url = rule.url;
this._path = rule.path;
this._loader = loader;

@@ -52,0 +52,0 @@ this._children = [];

var Class = require('ee-class');
module.exports.FilterTransformer = require('./FilterTransformer');
/*
module.exports.ComposedTransformer = new Class({
_transformers: null
, init: function(transformers){
this._transformers = transformers || [];
}
, transform: function(key, result, callback){
var original = callback,
len = this._transformers.length;
var last = callback,
current = last;
for(var i=len-1;i>=0; i--){
var trans = this._transformers[i];
current = (function(last){
return function(err, result){
if(err){
return callback(err, null);
}
trans.transform.call(null, key, result, last);
};
})(last);
last = current;
}
current.call(null, null, result);
}
});*/
module.exports.FactoryTransformer = require('./FactoryTransformer');
{
"name" : "ee-soa-transport-rewrite"
, "description" : "Rewriting middleware for the ee-soa-transports"
, "version" : "0.1.0"
, "version" : "0.1.1"
, "homepage" : "https://github.com/eventEmitter/ee-soa-transport-rewrite"

@@ -24,5 +24,7 @@ , "author" : {

, "ee-types" : "0.1.*"
, "mocha" : "1.18.*"
, "ee-event-emitter" : "0.1.*"
}
, "devDependencies": {
"mocha" : "1.18.*"
}
, "optionalDependencies" : {}

@@ -29,0 +31,0 @@ , "keywords" : ["ee", "soa", "transport", "rest"]

var assert = require('assert');
var loaders = require('./../lib/loader');
var loaders = require('../lib/loader');

@@ -5,0 +5,0 @@ /**

@@ -9,10 +9,11 @@ var assert = require('assert');

[
{domain: 'test1.com', name: 'ensure', field: 'range', value: '1-10'},
{domain: 'test1.com', name: 'append', field: 'filter', value: ', deleted=null' },
{domain: 'test1.com', name: 'override', field: 'select', value: '*' },
{domain: 'test1.com', name: 'template', field: '', value: 'index.html' },
{domain: 'test2.com', name: 'alias', field: '', value: 'rewritten.com' },
{domain: 'rewritten.com', name: 'ensure', field: 'range', value: '1-20'},
{domain: 'rewritten.com', name: 'append', field: 'filter', value: ', deleted!=null'},
{domain: 'test2.com', name: 'append', field: 'filter', value: ', nonsense' },
{domain: 'test1.com', path: null, name: 'ensure', field: 'range', value: '1-10'},
{domain: 'test1.com', path: null, name: 'append', field: 'filter', value: ', deleted=null' },
{domain: 'test1.com', path: null, name: 'override', field: 'select', value: '*' },
{domain: 'test1.com', path: null, name: 'template', field: '', value: 'index.html' },
{domain: 'test1.com', path: /\/somewhere\/(\d+)/, name: 'path', field: '', value: '/somewhere-else/$1' },
{domain: 'test2.com', path: null, name: 'alias', field: '', value: 'rewritten.com' },
{domain: 'rewritten.com', path: null, name: 'ensure', field: 'range', value: '1-20'},
{domain: 'rewritten.com', path: null, name: 'append', field: 'filter', value: ', deleted!=null'},
{domain: 'test2.com', path: null, name: 'append', field: 'filter', value: ', nonsense' },
]

@@ -43,4 +44,8 @@ , 'domain');

});
it('should rewrite a matching path', function(){
assert.equal(req.pathname, '/somewhere-else/10');
});
});
});
});

@@ -25,3 +25,3 @@ var assert = require('assert');

template = new rewrites.Template({domain:'test.com', field:'template', value:'index.nunjucks.hmtl'}),
path = new rewrites.Path({domain:'test.com', field:'/somewhere/(\\d+)', value:'/somewhere-else/$1'});
path = new rewrites.Path({domain:'test.com', path:/\/somewhere\/(\d+)/, value: '/somewhere-else/$1' });

@@ -28,0 +28,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc