Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
 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);
 }
Exemplo n.º 5
0
 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);
 }
Exemplo n.º 6
0
 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);
 }
Exemplo n.º 7
0
 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);
 }
Exemplo n.º 8
0
 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);
 }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
 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);
 }
Exemplo n.º 11
0
        /// <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)));
        }