1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-01 16:46:54 +03:00
Files
node-redis/lib/offlineCommand.js
Ruben Bridgewater 2b4ab10305 chore - remove standard and use individual config
Standard is not as up to date and still uses a old eslint version.
Instead, use the airbnb default with a couple of modifications.

All required changes are included.
2017-11-28 21:38:21 -02:00

28 lines
941 B
JavaScript

'use strict'
const Errors = require('redis-errors')
const debug = require('./debug')
const utils = require('./utils')
function offlineCommand(client, command) {
const commandName = command.command.toUpperCase()
if (client._closing || client._options.enableOfflineQueue === false) {
const msg = client._closing === true
? 'The connection is already closed.'
: client._stream.writable === true
? 'The connection is not yet established and the offline queue is deactivated.'
: 'Stream not writeable.'
const err = new Errors.AbortError(`${commandName} can't be processed. ${msg}`)
err.code = 'NR_CLOSED'
err.command = commandName
err.args = command.args
utils.replyInOrder(client, command.callback, err)
} else {
debug('Queueing %s for next server connection.', commandName)
client.offlineQueue.push(command)
}
client.shouldBuffer = true
}
module.exports = offlineCommand