Ruben Bridgewater
a2255d7fe2
Fix error messages not being visible in the stack trace of AbortErrors
2017-03-11 15:17:44 -03:00
Ruben Bridgewater
b9540d4965
Fix monitor mode not working with IPv6, sockets or lua scripts
...
Fixes #1189
Fixes #1037
2017-01-12 23:51:41 +01:00
Ruben Bridgewater
41d26dc0c8
Fix domain handling and tls camelCase settings
...
Fixes #1106
Fixes #1103
Closes #1104
2016-10-31 20:54:13 +01:00
Ruben Bridgewater
de0a9628aa
Fire the individual original callbacks when using transactions
...
Fixes #1089
2016-06-16 12:29:00 +02:00
Ruben Bridgewater
7eaba8c10d
Add tests to make sure no invalid function names get exported
2016-06-02 00:59:54 +02:00
Dan MacTough
68ca5c760b
Ensure synthetic function names conform to naming requirements
...
The "restore-asking" function name is not valid and was causing co-redis (by way of its usage of thenify) to throw because thenify uses the function name to rewrite async functions with promises.
This PR will change the name of the "restore-asking" function to "restore_asking", which is valid.
This sanitation is a bit stricter than necessary, since it also sanitizes valid unicode characters, but it covers this module's potential use cases just fine.
2016-06-01 13:15:04 -04:00
Ruben Bridgewater
a41cfa9aae
Add good stack traces tests and fix stack traces in debug mode
2016-06-01 14:04:25 +02:00
Ruben Bridgewater
a0c7431787
Inherit the name property in the error classes
2016-05-31 15:11:57 +02:00
Ruben Bridgewater
2c6e1e0cc0
Improve error stacks in development and debug mode
2016-05-29 01:38:34 +02:00
Ruben Bridgewater
ce44213d65
A function name is only configurable from v8 >= v.4.3
2016-05-29 01:38:34 +02:00
Ruben Bridgewater
25aa8f6710
Fix monitoring mode not always activating soon enough
2016-05-29 01:38:34 +02:00
Ruben Bridgewater
8b6f2dd35e
Refactor command parsing
2016-05-29 01:38:34 +02:00
Ruben Bridgewater
899f9b7fe4
Fix hungry developer typo
2016-05-29 01:38:34 +02:00
Ruben Bridgewater
ffaaf0f6d5
Add name property to all Redis functions
2016-05-29 01:38:34 +02:00
Ruben Bridgewater
55528d8b1b
Revert 228573b8d7
...
Not inheriting from the prototype is a BC
2016-05-29 01:38:34 +02:00
Ruben Bridgewater
fe00bf271d
Update redis-parser to v.2.0.0
...
Update all code accordingly
2016-05-29 01:38:34 +02:00
Ruben Bridgewater
03f1a606f7
Improve error handling
...
Added individual error classes
Don't silently fail for commands without callback from now on
General polishing (e.g. better error messages)
Fix typos
2016-04-29 04:31:39 +02:00
Ruben Bridgewater
bf394923fd
Use built-in error classes to make errors more specific
2016-04-29 04:10:24 +02:00
Ruben Bridgewater
eae16938cd
Add monitor transaction warning / error
2016-04-29 04:10:23 +02:00
Ruben Bridgewater
f7c4d131be
Remove jshint comments and update istanbul comments
2016-04-29 04:10:23 +02:00
Ruben Bridgewater
0dc45bd0a3
Improve pub sub mode further
2016-04-29 04:10:23 +02:00
Ruben Bridgewater
a857829a36
Improve error handling
...
Arguments are now passed to an command error in case they exist
An error is only emitted if that very same error is not already handled in a callback
2016-04-29 04:10:23 +02:00
Ruben Bridgewater
97ae78877b
Implement CLIENT REPLY ON|OFF|SKIP
2016-04-29 04:10:23 +02:00
Ruben Bridgewater
3038c9043d
Make sure all individual handled command work in multi context the same
...
Fix quit possibly resulting in reconnections
2016-04-29 04:10:23 +02:00
Ruben Bridgewater
0424cb0bf3
Move pub sub command into individual commands and use call_on_write
2016-04-29 04:10:23 +02:00
Ruben Bridgewater
683815de9d
Refactor pipelining
2016-04-29 04:10:23 +02:00
Ruben Bridgewater
5d12659583
Fix typos / comments
2016-04-29 04:10:23 +02:00
Ruben Bridgewater
a9d565b8f4
Fix auth regression
...
Fixes #1028
2016-04-29 04:10:23 +02:00
Ruben Bridgewater
aff765adf0
Fix execution order
...
If the command_queue and the offline_queue holds commands,
the offline_queue should be choosen instead of the command_queue.
2016-04-29 04:10:23 +02:00
Ruben Bridgewater
8e24380d53
Add optional callback option to duplicate function
2016-04-29 04:10:23 +02:00
Ruben Bridgewater
d2b8f2f391
Add support for camelCase
...
Fixes missing `EXEC_BATCH` on multi
2016-04-29 04:10:23 +02:00
Ruben Bridgewater
5e42302636
Accept arbitrary arguments in the debug function
2016-04-23 12:54:43 +02:00
Ruben Bridgewater
228573b8d7
Support __proto__ and similar as object attribute in hgetall
2016-04-23 12:54:43 +02:00
Ruben Bridgewater
14170f9d02
Improve tests a bit
...
Reduce timeouts if possible
Extend timeouts if needed (windows tests need their time)
Don't expose the redis socket to others than the owner
Don't create the stunnel log
2016-04-01 11:42:22 +02:00
Ruben Bridgewater
3fd865bbb3
Move the exposed and documented api into a separate file
2016-03-31 19:23:46 +02:00
Ruben Bridgewater
861749f4d6
Fix send_command working with hooked internal functions
2016-03-31 19:23:46 +02:00
Ruben Bridgewater
48481552c9
Calling quit should always close the connection
2016-03-27 05:18:38 +02:00
Ruben Bridgewater
94e9f1fcfc
Replace jshint with eslint and add lots of rules
...
Fix eslint errors accordingly
2016-03-26 14:45:12 +01:00
Ruben Bridgewater
7a5a4aa535
Fix pub sub mode
...
There is likely a better and more performant way to fix this but this works so far
and should be good enough to release and improve later.
Make test more robust
Add another test
2016-03-26 02:14:10 +01:00
Ruben Bridgewater
344291a98a
Fix monitoring mode
2016-03-25 16:09:20 +01:00
Ruben Bridgewater
359820c766
Support redis 2.4 info command
...
Fixes #1008
2016-03-16 23:50:29 +01:00
Ruben Bridgewater
eb9500bb9f
Fix redis 2.4 auth support
2016-03-16 23:15:21 +01:00
Ruben Bridgewater
24e7486a5a
Fix forgotten optional info section
...
Fixes #1003
2016-03-15 09:59:09 +01:00
Ruben Bridgewater
5e8a87b4dc
Improve createClient function to detect faulty input and throw
2016-03-07 01:57:56 +01:00
Ruben Bridgewater
290bf1d651
Small utils improvements
...
Don't write "Error:" infront of errors
2016-03-07 01:57:56 +01:00
Ruben Bridgewater
614e35ab57
Move multi; commands; createClient code into separate files
2016-03-07 01:57:56 +01:00
Ruben Bridgewater
518e46dcc7
Use a own clone function instead of using JSON.parse(JSON.stringify())
...
This will also clone functions
2016-03-01 17:59:16 +01:00
Ruben Bridgewater
8dcf06754d
Add warnings and handle protocol errors gracefuly
2016-03-01 17:59:16 +01:00
Ruben Bridgewater
3514a32825
Remove unused function from utils
2015-12-31 06:00:20 +01:00
Ruben Bridgewater
e89bcec1c2
Deprecate and warn on null / undefined arguments
2015-12-30 16:18:17 +01:00