コード例 #1
0
 public DdpJsonConverter()
 {
     _readTypes = new Dictionary <Type, Func <JsonReader, object, JsonSerializer, object> >
     {
         [typeof(DdpDate)] = (reader, existingValue, serializer) =>
         {
             JObject ob = JObject.Load(reader);
             return(ob["$date"] == null
                 ? existingValue
                 : new DdpDate
             {
                 DateTime = DdpUtil.MillisecondsToDateTime(ob["$date"].ToObject <long>())
             });
         },
         [typeof(DdpBinary)] = (reader, existingValue, serializer) =>
         {
             JObject ob = JObject.Load(reader);
             return(ob["$binary"] == null
                 ? existingValue
                 : new DdpBinary
             {
                 Data = DdpUtil.GetBytesFromBase64(ob["$binary"].ToObject <string>())
             });
         }
     };
 }
コード例 #2
0
        public DdpSubHandler(WebSocketAdapterBase webSocketAdapterBase, string subName, params object[] subParams)
        {
            _webSocketAdapterBase             = webSocketAdapterBase;
            _webSocketAdapterBase.DdpMessage += Message;

            Params = subParams;
            Name   = subName;
            Id     = DdpUtil.GetRandomId();
        }
コード例 #3
0
        public DdpSubHandler(IDdpWebSocket webSocket, string subName, params object[] subParams)
        {
            _webSocket             = webSocket;
            _webSocket.DdpMessage += Message;

            Params = subParams;
            Name   = subName;
            Id     = DdpUtil.GetRandomId();
        }
コード例 #4
0
        public string LoginWithEmail(string email, string password)
        {
            BasicLoginModel <EmailUser> model = new BasicLoginModel <EmailUser>
            {
                User = new EmailUser
                {
                    Email = email
                },
                Password = new PasswordModel
                {
                    Digest    = DdpUtil.GetSHA256(password),
                    Algorithm = "sha-256"
                }
            };

            return(Call("login", HandleLogin, model));
        }
コード例 #5
0
        public string LoginWithUsername(string username, string password)
        {
            BasicLoginModel <UsernameUser> model = new BasicLoginModel <UsernameUser>
            {
                Password = new PasswordModel
                {
                    Digest    = DdpUtil.GetSHA256(password),
                    Algorithm = "sha-256"
                },
                User = new UsernameUser
                {
                    Username = username
                }
            };

            return(Call("login", HandleLogin, model));
        }
コード例 #6
0
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     if (value is DdpBinary)
     {
         DdpBinary ddpBinary = (DdpBinary)value;
         writer.WriteStartObject();
         writer.WritePropertyName("$binary");
         writer.WriteValue(DdpUtil.GetBase64FromBytes(ddpBinary.Data));
         writer.WriteEndObject();
         return;
     }
     if (value is DdpDate)
     {
         DdpDate ddpDate = (DdpDate)value;
         writer.WriteStartObject();
         writer.WritePropertyName("$date");
         writer.WriteValue(DdpUtil.DateTimeToMilliseconds(ddpDate.DateTime));
         writer.WriteEndObject();
     }
 }