seneca-transport
Advanced tools
Comparing version 0.2.6 to 0.6.0
{ | ||
"name": "seneca-transport", | ||
"version": "0.2.6", | ||
"version": "0.6.0", | ||
"description": "Seneca transport", | ||
@@ -23,12 +23,12 @@ "main": "transport.js", | ||
"connect": "~3.0.2", | ||
"connect-query": "^0.2.0", | ||
"connect-timeout": "^1.1.1", | ||
"connect-query": "~0.2.0", | ||
"connect-timeout": "~1.1.1", | ||
"gex": "~0.1.4", | ||
"jsonic": "^0.1.1", | ||
"lru-cache": "~2.5.0", | ||
"needle": "^0.7.10", | ||
"nid": "~0.3.2", | ||
"patrun": "~0.2.0", | ||
"patrun": "~0.4.2", | ||
"reconnect-net": "0.0.0", | ||
"request": "~2.40.0", | ||
"underscore": "~1.6.0" | ||
"lodash": "~2.4.1" | ||
}, | ||
@@ -35,0 +35,0 @@ "devDependencies": { |
126
transport.js
@@ -1,2 +0,2 @@ | ||
/* Copyright (c) 2013-2014 Richard Rodger, MIT License */ | ||
/* Copyright (c) 2013-2015 Richard Rodger, MIT License */ | ||
"use strict"; | ||
@@ -11,3 +11,3 @@ | ||
var _ = require('underscore') | ||
var _ = require('lodash') | ||
var patrun = require('patrun') | ||
@@ -17,3 +17,3 @@ var gex = require('gex') | ||
var connect = require('connect') | ||
var request = require('request') | ||
var needle = require('needle') | ||
var lrucache = require('lru-cache') | ||
@@ -103,3 +103,3 @@ var reconnect = require('reconnect-net') | ||
var listen_config = parseConfig(args) | ||
var listen_config = args.config // parseConfig(args) | ||
var listen_args = | ||
@@ -120,3 +120,3 @@ seneca.util.clean( | ||
var client_config = parseConfig(args) | ||
var client_config = args.config // parseConfig(args) | ||
var client_args = | ||
@@ -426,3 +426,6 @@ seneca.util.clean( | ||
iserror = true | ||
outjson = stringifyJSON(seneca,'listen-web-error',out.error) | ||
outjson = stringifyJSON(seneca,'listen-web',out.error) | ||
//outjson = stringifyJSON( | ||
// seneca,'listen-web-error', | ||
// _.extend({message:out.error.message},out.error)) | ||
} | ||
@@ -502,27 +505,38 @@ } | ||
request.post( reqopts, function(err,response,body) { | ||
needle.post( | ||
fullurl, | ||
args, | ||
{ | ||
json: true, | ||
headers: headers, | ||
timeout: client_options.timeout, | ||
}, | ||
function(err,res) { | ||
var data = { | ||
kind: 'res', | ||
res: res.body, | ||
error: err | ||
} | ||
var data = { | ||
kind: 'res', | ||
res: body, | ||
error: err | ||
} | ||
if( res ) { | ||
data.id = res.headers['seneca-id'], | ||
data.origin = res.headers['seneca-origin'], | ||
data.accept = res.headers['seneca-accept'], | ||
data.time = { | ||
client_sent: res.headers['seneca-time-client-sent'], | ||
listen_recv: res.headers['seneca-time-listen-recv'], | ||
listen_sent: res.headers['seneca-time-listen-sent'], | ||
} | ||
if( response ) { | ||
data.id = response.headers['seneca-id'], | ||
data.origin = response.headers['seneca-origin'], | ||
data.accept = response.headers['seneca-accept'], | ||
data.time = { | ||
client_sent: response.headers['seneca-time-client-sent'], | ||
listen_recv: response.headers['seneca-time-listen-recv'], | ||
listen_sent: response.headers['seneca-time-listen-sent'], | ||
if( 200 !== res.statusCode ) { | ||
data.error = res.body | ||
} | ||
} | ||
if( 200 !== response.statusCode ) { | ||
data.error = body | ||
} | ||
handle_response( seneca, data, client_options ) | ||
} | ||
) | ||
handle_response( seneca, data, client_options ) | ||
}) | ||
}) | ||
@@ -533,62 +547,2 @@ } | ||
function parseConfig( args ) { | ||
var out = {} | ||
var config = args.config || args | ||
if( _.isArray( config ) ) { | ||
var arglen = config.length | ||
if( 1 === arglen ) { | ||
if( _.isObject( config[0] ) ) { | ||
out = config[0] | ||
} | ||
else { | ||
out.port = parseInt(config[0]) | ||
} | ||
} | ||
else if( 2 === arglen ) { | ||
out.port = parseInt(config[0]) | ||
out.host = config[1] | ||
} | ||
else if( 3 === arglen ) { | ||
out.port = parseInt(config[0]) | ||
out.host = config[1] | ||
out.path = config[2] | ||
} | ||
} | ||
else out = config; | ||
_.each( options, function(v,k){ | ||
if( _.isObject(v) ) return; | ||
out[k] = ( void 0 === out[k] ? v : out[k] ) | ||
}) | ||
// Default transport is web | ||
out.type = out.type || 'web' | ||
// Aliases. | ||
if( 'direct' == out.type || 'http' == out.type ) { | ||
out.type = 'web' | ||
} | ||
var base = options[out.type] || {} | ||
out = _.extend({},base,out) | ||
if( 'web' == out.type || 'tcp' == out.type ) { | ||
out.port = null == out.port ? base.port : out.port | ||
out.host = null == out.host ? base.host : out.host | ||
out.path = null == out.path ? base.path : out.path | ||
} | ||
return out | ||
} | ||
// only support first level | ||
@@ -774,3 +728,3 @@ // interim measure - deal with this in core seneca act api | ||
if( err ) { | ||
var errobj = _.clone(err) | ||
var errobj = _.extend({},err) | ||
errobj.message = err.message | ||
@@ -777,0 +731,0 @@ errobj.name = err.name || 'Error' |
53009
740
+ Addedlodash@~2.4.1
+ Addedneedle@^0.7.10
+ Addedconnect-timeout@1.1.1(transitive)
+ Addedgex@0.2.1(transitive)
+ Addediconv-lite@0.4.24(transitive)
+ Addedlodash@2.4.23.10.0(transitive)
+ Addedneedle@0.7.11(transitive)
+ Addedon-headers@0.0.0(transitive)
+ Addedpatrun@0.4.4(transitive)
+ Addedsafer-buffer@2.1.2(transitive)
- Removedrequest@~2.40.0
- Removedunderscore@~1.6.0
- Removedasn1@0.1.11(transitive)
- Removedassert-plus@0.1.5(transitive)
- Removedaws-sign2@0.5.0(transitive)
- Removedboom@0.4.2(transitive)
- Removedcombined-stream@0.0.7(transitive)
- Removedconnect-timeout@1.9.0(transitive)
- Removedcryptiles@0.2.2(transitive)
- Removedctype@0.5.3(transitive)
- Removeddelayed-stream@0.0.5(transitive)
- Removeddepd@1.1.2(transitive)
- Removedee-first@1.1.1(transitive)
- Removedforever-agent@0.5.2(transitive)
- Removedform-data@0.1.4(transitive)
- Removedhawk@1.1.1(transitive)
- Removedhoek@0.9.1(transitive)
- Removedhttp-errors@1.6.3(transitive)
- Removedhttp-signature@0.10.1(transitive)
- Removedinherits@2.0.3(transitive)
- Removedjson-stringify-safe@5.0.1(transitive)
- Removedmime@1.2.11(transitive)
- Removedmime-types@1.0.2(transitive)
- Removedms@2.0.0(transitive)
- Removednode-uuid@1.4.8(transitive)
- Removedoauth-sign@0.3.0(transitive)
- Removedon-finished@2.3.0(transitive)
- Removedon-headers@1.0.2(transitive)
- Removedpatrun@0.2.0(transitive)
- Removedqs@1.0.2(transitive)
- Removedrequest@2.40.0(transitive)
- Removedsetprototypeof@1.1.0(transitive)
- Removedsntp@0.2.4(transitive)
- Removedstatuses@1.5.0(transitive)
- Removedstringstream@0.0.6(transitive)
- Removedtldts@6.1.79(transitive)
- Removedtldts-core@6.1.79(transitive)
- Removedtough-cookie@5.1.1(transitive)
- Removedtunnel-agent@0.4.3(transitive)
Updatedconnect-query@~0.2.0
Updatedconnect-timeout@~1.1.1
Updatedpatrun@~0.4.2