Bug or feature request
Description of feature (or steps to reproduce if bug)
- Create a LB app
- Add redis datasource following steps outlined in https://loopback.io/doc/en/lb2/Redis-connector.html
- Change the port to something that is not right for the datasource
Expected result
graceful error like how loopback-connector-mysqlconnector does it:
| => node .
Web server listening at: http://0.0.0.0:3000
Browse your REST API at http://0.0.0.0:3000/explorer
Connection fails: Error: connect ECONNREFUSED 0.0.0.0:3307
It will be retried for the next request.
events.js:141
throw er; // Unhandled 'error' event
^
Error: connect ECONNREFUSED 0.0.0.0:3307
at Object.exports._errnoException (util.js:907:11)
at exports._exceptionWithHostPort (util.js:930:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1078:14)
--------------------
Actual result (if bug)
=> node .
Web server listening at: http://0.0.0.0:3000
Browse your REST API at http://0.0.0.0:3000/explorer
/Users/badmike/mysql65repo/redis38/node_modules/strong-globalize/lib/helper.js:740
matched = (name.indexOf(header) === 0);
^
TypeError: name.indexOf is not a function
at /Users/badmike/mysql65repo/redis38/node_modules/strong-globalize/lib/helper.js:740:23
at Array.forEach (native)
at headerIncluded (/Users/badmike/mysql65repo/redis38/node_modules/strong-globalize/lib/helper.js:738:20)
at Object.hashKeys (/Users/badmike/mysql65repo/redis38/node_modules/strong-globalize/lib/helper.js:109:12)
at formatMessage (/Users/badmike/mysql65repo/redis38/node_modules/strong-globalize/lib/globalize.js:96:14)
at packMessage (/Users/badmike/mysql65repo/redis38/node_modules/strong-globalize/lib/globalize.js:201:17)
at Object.rfc5424 (/Users/badmike/mysql65repo/redis38/node_modules/strong-globalize/lib/globalize.js:224:10)
at StrongGlobalize.log (/Users/badmike/mysql65repo/redis38/node_modules/strong-globalize/index.js:185:20)
at RedisClient.<anonymous> (/Users/badmike/mysql65repo/redis38/node_modules/loopback-connector-redis/lib/redis.js:56:7)
at emitOne (events.js:77:13)
at RedisClient.emit (events.js:169:7)
at RedisClient.on_error (/Users/badmike/mysql65repo/redis38/node_modules/redis/index.js:196:10)
at Socket.<anonymous> (/Users/badmike/mysql65repo/redis38/node_modules/redis/index.js:106:14)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at emitErrorNT (net.js:1269:8)
Additional information (Node.js version, LoopBack version, etc)
| => lb --version
2.2.0 (generator-loopback@3.2.0 loopback-workspace@3.40.1)
___________________ | ~/mysql65repo/redis38 @ biniams-mbp (badmike)
| => node -v
v4.8.0
___________________ | ~/mysql65repo/redis38 @ biniams-mbp (badmike)
| => npm -v
3.10.10
The issue happens because https://github.com/strongloop/strong-globalize/blob/master/lib/helper.js#L730-#L735 expects name to be a string, but our downstream dep node_redis sends an error object along https://github.com/NodeRedis/node_redis/blob/v0.12.1/index.js#L196 (btw we should look into updating that dep because it is currently on 2.7.1).
Bug or feature request
Description of feature (or steps to reproduce if bug)
Expected result
graceful error like how
loopback-connector-mysqlconnector does it:Actual result (if bug)
Additional information (Node.js version, LoopBack version, etc)
The issue happens because https://github.com/strongloop/strong-globalize/blob/master/lib/helper.js#L730-#L735 expects
nameto be a string, but our downstream depnode_redissends an error object along https://github.com/NodeRedis/node_redis/blob/v0.12.1/index.js#L196 (btw we should look into updating that dep because it is currently on2.7.1).