public Message RecipientNotFound(Client currentClient, Message currentMessage) { string originalRecipientGUID = currentMessage.RecipientGUID; currentMessage = currentMessage.Redact(); currentMessage.RecipientGUID = currentMessage.SenderGUID; currentMessage.SenderGUID = ServerGUID; currentMessage.CreatedUTC = DateTime.Now.ToUniversalTime(); currentMessage.Success = false; currentMessage.SyncResponse = currentMessage.SyncRequest; currentMessage.SyncRequest = null; if (!String.IsNullOrEmpty(originalRecipientGUID)) { currentMessage.Data = FailureData.ToBytes(ErrorTypes.RecipientNotFound, "Unknown recipient", originalRecipientGUID); } else if (!String.IsNullOrEmpty(currentMessage.ChannelGUID)) { currentMessage.Data = FailureData.ToBytes(ErrorTypes.ChannelNotFound, "Unknown channel", currentMessage.ChannelGUID); } else { currentMessage.Data = FailureData.ToBytes(ErrorTypes.BadRequest, "No recipient or channel supplied", null); } return(currentMessage); }
public Message AuthorizationFailed(Message currentMessage) { currentMessage.RecipientGUID = currentMessage.SenderGUID; currentMessage.SenderGUID = ServerGUID; currentMessage.CreatedUTC = DateTime.Now.ToUniversalTime(); currentMessage.Success = false; currentMessage.SyncRequest = null; currentMessage.SyncResponse = null; currentMessage.Data = FailureData.ToBytes(ErrorTypes.AuthorizationFailed, "Authorization failed", null); return(currentMessage); }
public Message UnknownCommand(Client currentClient, Message currentMessage) { currentMessage.RecipientGUID = currentMessage.SenderGUID; currentMessage.SenderGUID = ServerGUID; currentMessage.CreatedUTC = DateTime.Now.ToUniversalTime(); currentMessage.Success = false; currentMessage.SyncResponse = currentMessage.SyncRequest; currentMessage.SyncRequest = null; currentMessage.Data = FailureData.ToBytes(ErrorTypes.UnknownCommand, "Unknown command", currentMessage.Command); return(currentMessage); }
public Message ChannelCreateFailure(Client currentClient, Message currentMessage) { currentMessage = currentMessage.Redact(); currentMessage.RecipientGUID = currentMessage.SenderGUID; currentMessage.SenderGUID = ServerGUID; currentMessage.CreatedUTC = DateTime.Now.ToUniversalTime(); currentMessage.Success = false; currentMessage.SyncResponse = currentMessage.SyncRequest; currentMessage.SyncRequest = null; currentMessage.Data = FailureData.ToBytes(ErrorTypes.UnableToCreateChannel, "Unable to create channel", null); return(currentMessage); }
public Message ChannelAlreadyExists(Client currentClient, Message currentMessage, Channel currentChannel) { currentMessage = currentMessage.Redact(); currentMessage.RecipientGUID = currentMessage.SenderGUID; currentMessage.SenderGUID = ServerGUID; currentMessage.CreatedUTC = DateTime.Now.ToUniversalTime(); currentMessage.Success = false; currentMessage.SyncResponse = currentMessage.SyncRequest; currentMessage.SyncRequest = null; currentMessage.Data = FailureData.ToBytes(ErrorTypes.ChannelAlreadyExists, "Channel already exists", currentChannel.ChannelGUID); return(currentMessage); }
public Message ChannelNotFound(Client currentClient, Message currentMessage) { currentMessage = currentMessage.Redact(); currentMessage.RecipientGUID = currentMessage.SenderGUID; currentMessage.SenderGUID = ServerGUID; currentMessage.CreatedUTC = DateTime.Now.ToUniversalTime(); currentMessage.Success = false; currentMessage.SyncResponse = currentMessage.SyncRequest; currentMessage.SyncRequest = null; currentMessage.Data = FailureData.ToBytes(ErrorTypes.ChannelNotFound, "Channel not found", currentMessage.ChannelGUID); return(currentMessage); }
public Message DataError(Client currentClient, Message currentMessage, string message) { currentMessage = currentMessage.Redact(); currentMessage.RecipientGUID = currentMessage.SenderGUID; currentMessage.SenderGUID = ServerGUID; currentMessage.CreatedUTC = DateTime.Now.ToUniversalTime(); currentMessage.Success = false; currentMessage.SyncResponse = currentMessage.SyncRequest; currentMessage.SyncRequest = null; currentMessage.Data = FailureData.ToBytes(ErrorTypes.DataError, "Data error encountered", message); return(currentMessage); }
public Message NotChannelMember(Client currentClient, Message currentMessage, Channel currentChannel) { currentMessage = currentMessage.Redact(); currentMessage.RecipientGUID = currentMessage.SenderGUID; currentMessage.SenderGUID = ServerGUID; currentMessage.CreatedUTC = DateTime.Now.ToUniversalTime(); currentMessage.Success = false; currentMessage.SyncResponse = currentMessage.SyncRequest; currentMessage.SyncRequest = null; currentMessage.Data = FailureData.ToBytes(ErrorTypes.NotAChannelMember, "You are not a member of this channel", currentChannel.ChannelGUID); return(currentMessage); }
public Message LoginRequired() { Message ResponseMessage = new Message(); ResponseMessage.RecipientGUID = null; ResponseMessage.SenderGUID = ServerGUID; ResponseMessage.CreatedUTC = DateTime.Now.ToUniversalTime(); ResponseMessage.Success = false; ResponseMessage.SyncRequest = null; ResponseMessage.SyncResponse = null; ResponseMessage.Data = FailureData.ToBytes(ErrorTypes.LoginRequired, "Login required", null); return(ResponseMessage); }
public Message ChannelNoSubscribers(Client currentClient, Message currentMessage, Channel currentChannel) { currentMessage = currentMessage.Redact(); currentMessage.RecipientGUID = currentMessage.SenderGUID; currentMessage.SenderGUID = ServerGUID; currentMessage.ChannelGUID = currentChannel.ChannelGUID; currentMessage.CreatedUTC = DateTime.Now.ToUniversalTime(); currentMessage.Success = true; currentMessage.SyncResponse = currentMessage.SyncRequest; currentMessage.SyncRequest = null; currentMessage.Data = FailureData.ToBytes(ErrorTypes.NoChannelSubscribers, "No subscribers in channel", currentChannel.ChannelGUID); return(currentMessage); }
/// <summary> /// Create a byte array containng an error object. /// </summary> /// <param name="error">The type of error.</param> /// <param name="detail">Additional detail related to the error.</param> /// <param name="data">Additional data related to the error.</param> /// <returns></returns> public static byte[] ToBytes(ErrorTypes error, string detail, object data) { FailureData e = new FailureData(); e.Success = false; e.ErrorDetail = detail; e.ErrorType = error; e.Data = data; Dictionary <string, object> dict = new Dictionary <string, object>(); dict.Add("Error", e); return(Encoding.UTF8.GetBytes(Helper.SerializeJson(dict))); }