private static void FormatScriptError(ProcedureCollection procedures, RESPError error) { var pos = error.Message.IndexOf("Error running script (call to "); if (pos != -1 && error.Message.Length >= 72) { var scriptId = error.Message.Substring(30, 42); var sha1 = scriptId.Substring(2); ProcedureDefinition script; if (procedures.TryGetByDigest(sha1, out script)) { error.SetMessage(error.Message.Replace(scriptId, String.Format("{0} [sha1: {1}]", script.Name, sha1))); } } }
static RESPObject ProcessResponse(Char?header, SocketReader reader) { if (!header.HasValue) { return(null); } switch (header) { case RESPHeaders.SimpleString: return(RESPSimpleString.Load(reader)); case RESPHeaders.BulkString: return(RESPBulkString.Load(reader)); case RESPHeaders.Array: return(RESPArray.Load(reader)); case RESPHeaders.Error: return(RESPError.Load(reader)); case RESPHeaders.Integer: return(RESPInteger.Load(reader)); default: throw new RESPException("Unrecognized RESP header (byte): " + (byte)header.Value); } }
internal RedisClientMultipleCommandException(RESPError error, params RedisClientCommandException[] commandExceptions) : base(String.Format("{0}:'{1}'", error.Prefix, error.Message), new AggregateException(commandExceptions)) { ParameterGuard.CannotBeNullOrEmpty(commandExceptions, "commandExceptions"); this.InnerExceptions = commandExceptions; }
internal RedisClientCommandException(RESPError error) : this(error, 1) { }