예제 #1
0
 /// <summary>
 /// Default constructor
 /// </summary>
 public RestRequest()
 {
     Parameters = new List<Parameter>();
     Files = new List<FileParameter>();
     XmlSerializer = new XmlSerializer();
     JsonSerializer = new JsonSerializer();
 }
예제 #2
0
        /// <summary>
        /// Default constructor
        /// </summary>
        public RestRequest()
        {
            Parameters = new List<Parameter>();
            Files = new List<FileParameter>();
            XmlSerializer = new XmlSerializer();
            JsonSerializer = new JsonSerializer();

            OnBeforeDeserialization = r => { };
        }
예제 #3
0
        public static void WriteDriveSettings()
        {
            FileStream file = GetJSONFile();

            JsonSerializer ser = new JsonSerializer();
            string values = ser.Serialize(GoogleDriveRefreshInfo.Instance);

            file.Write(Encoding.ASCII.GetBytes(values), 0, Encoding.ASCII.GetByteCount(values));
            file.Close();
        }
예제 #4
0
        public static void WriteBoxSettings()
        {
            FileStream file = GetJSONFile();

            JsonSerializer ser = new JsonSerializer();
            string values = ser.Serialize(BoxProperties.refreshInfo);

            file.Write(Encoding.ASCII.GetBytes(values), 0, Encoding.ASCII.GetByteCount(values));
            file.Close();
        }
예제 #5
0
        public void null_presence_data_throw_Exception()
        {
            string channelName = "my-channel";
            string socketId = "some_socket_id";

            var serializer = new JsonSerializer();

            PresenceChannelData data = null;
            _pusher.Authenticate(channelName, socketId, data);
        }
 public static async Task Bulk(this ElasticsearchClient client, IEnumerable<BulkOperationItem> bulkOperationsItem)
 {          
     var sb = new StringBuilder();
     var serializer = new JsonSerializer();
     foreach (var item in bulkOperationsItem)
     {
         item.WriteToStringBuilder(sb, serializer);
     }
     await client.Execute(RestMethod.POST, "/_bulk", sb.ToString());            
 }
 public override void WriteToStringBuilder(StringBuilder sb, JsonSerializer serializer)
 {
     sb.AppendFormat(@"{{ ""create"" : {{ ""_index"" : ""{0}"", ""_type"" : ""{1}""", _indexName, _typeName);
     sb.AppendFormat(@", ""_id"" : ""{0}""", _id);
     sb.Append(" } }\n");
     var str = _obj as string;
     if (str != null)
         sb.Append(str);
     else
         sb.Append(serializer.Serialize(_obj));
     sb.Append('\n');
 }
예제 #8
0
        /// <summary>
        /// Default constructor
        /// </summary>
        public RestRequest()
        {
            Parameters = new List<Parameter>();
            Files = new List<FileParameter>();
            XmlSerializer = new XmlSerializer();
            JsonSerializer = new JsonSerializer();

            OnBeforeDeserialization = r => { };
            #if FRAMEWORK
            AttemptPostFilesWithoutBuffering = false;
            #endif
        }
예제 #9
0
 public Transmitter(Uri url, string privateApiKey, string publicApiKey, int connectionTimeout)
 {
     TSettings         = new Settings();
     Auth              = new AuthResult();
     serializer        = new RestSharp.Serializers.JsonSerializer();
     deserializer      = new JsonDeserializer();
     ApiUrl            = url;
     Data              = DateTime.Now.ToString("MMM ddd d HH:mm:ss yyyy");
     PrivateApiKey     = privateApiKey;
     PublicApiKey      = publicApiKey;
     ConnectionTimeout = connectionTimeout;
     Auth.Token        = "";
     client            = new RestClient(ApiUrl);
 }
예제 #10
0
 public Transmitter(Uri url, string privateApiKey, string publicApiKey, int connectionTimeout)
 {
     TSettings = new Settings();
     Auth = new AuthResult();
     serializer = new RestSharp.Serializers.JsonSerializer();
     deserializer = new JsonDeserializer();
     ApiUrl = url;
     Data = DateTime.Now.ToString("MMM ddd d HH:mm:ss yyyy");
     PrivateApiKey = privateApiKey;
     PublicApiKey = publicApiKey;
     ConnectionTimeout = connectionTimeout;
     Auth.Token = "";
     client = new RestClient(ApiUrl);
 }
예제 #11
0
        public static void Update(OAuthToken refreshAccessToken)
        {
            var testConfigInfo = Get();
            testConfigInfo.AccessToken = refreshAccessToken.AccessToken;
            testConfigInfo.RefreshToken = refreshAccessToken.RefreshToken;

            using (var stream = TestConfigFileInfo().Open(FileMode.Truncate))
            {
                using (var writer = new StreamWriter(stream))
                {
                    var updatedInfo = new JsonSerializer().Serialize(testConfigInfo);
                    writer.Write(updatedInfo);
                }
            }
        }
예제 #12
0
        public virtual string Serialize()
        {
            var props = new Dictionary<string, object>();

            var properties = this.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);
            foreach (var prop in properties)
            {
                props.Add(
                        this.GetPropertyName(prop.Name),
                        prop.GetValue(this)
                    );
            }

            var serializer = new JsonSerializer();
            return serializer.Serialize(props);
        }
예제 #13
0
        public void channel_data_is_encoded_as_JSON()
        {
            string channelName = "my-channel";
            string socketId = "123.456";

            var serializer = new JsonSerializer();

            PresenceChannelData data = new PresenceChannelData()
            {
                user_id = "unique_user_id",
                user_info = new { twitter_id = "@leggetter" }
            };

            string expectedChannelData = serializer.Serialize(data); ;

            IAuthenticationData result = _pusher.Authenticate(channelName, socketId, data);
            Assert.AreEqual(expectedChannelData, result.channel_data);
        }
예제 #14
0
        public void the_auth_response_is_valid()
        {
            string channelName = "my-channel";
            string socketId = "123.456";

            var serializer = new JsonSerializer();

            PresenceChannelData data = new PresenceChannelData()
            {
                user_id = "unique_user_id",
                user_info = new { twitter_id = "@leggetter" }
            };
            string presenceJSON = serializer.Serialize(data);

            string expectedAuthString = Config.AppKey + ":" + CreateSignedString(channelName, socketId, presenceJSON);

            IAuthenticationData result = _pusher.Authenticate(channelName, socketId, data);
            Assert.AreEqual(expectedAuthString, result.auth);
        }
예제 #15
0
        public string Serialize(object obj)
        {
            if (obj==null) throw new ArgumentNullException();

            // Use JsonSerializer for anonymous types.
            if (obj.GetType().IsAnonymous())
            {
                var serializer = new JsonSerializer();
                return serializer.Serialize(obj);
            }

            // Use DataContractJsonSerializer for other types.
            using (var stream = new MemoryStream())
            {
                var serializer = new DataContractJsonSerializer(obj.GetType());
                serializer.WriteObject(stream, obj);
                byte[] bytes = stream.ToArray();
                return Encoding.UTF8.GetString(bytes, 0, bytes.Length);
            }
        }
 /// <inheritdoc/>
 public string Serialize(object body)
 {
     var serializer = new JsonSerializer();
     return serializer.Serialize(body);
 }
예제 #17
0
        private static void WritePackageHeader(PackageUploadRequestBody pkgHeader, DirectoryInfo rootDir)
        {
            // build the package header json, which will be stored with the pkg
            var jsSer = new JsonSerializer();
            var pkgHeaderStr = jsSer.Serialize(pkgHeader);

            // write the pkg header to the root directory of the pkg
            var headerPath = Path.Combine(rootDir.FullName, "pkg.json");
            if (File.Exists(headerPath)) File.Delete(headerPath);
            File.WriteAllText(headerPath, pkgHeaderStr);
        }
예제 #18
0
        private bool CheckRequestContainsPayload(IRestRequest request, string channelName, string eventName, object eventData)
        {
            var serializer = new JsonSerializer();
            var expectedBody = new TriggerBody() {
                name = eventName,
                channels = new string[]{channelName},
                data = serializer.Serialize(eventData)
            };
            var expected = serializer.Serialize(expectedBody);

            return request.Parameters[0].Type == ParameterType.RequestBody &&
                request.Parameters[0].ToString().Contains( expected );
        }
 public override void WriteToStringBuilder(StringBuilder sb, JsonSerializer serializer)
 {
     sb.AppendFormat(@"{{ ""index"" : {{ ""_index"" : ""{0}"", ""_type"" : ""{1}"", ""_id"" : ""{2}""", _indexName, _typeName, _id);
     sb.Append(" } }\n");
 }
예제 #20
0
        public void EncodeScreenshostTaskTest()
        {
            //Arrange
            var taskData = new EncodeTaskData()
            {
                TaskId = TaskId
            };
            var encodeData = new ScreenshotEncodeData()
            {
                FileId = ConfigurationManager.AppSettings.Get("TestVideo"),
                ContentType = "image/jpeg",
                ScreenshotParam = new ScreenshotParam()
                                      {
                                          TimeOffset=1
                                      }
            };

            var serializer = new JsonSerializer();
            var jsonEncodeData = serializer.Serialize(encodeData);
            var jsonTaskData = serializer.Serialize(taskData);
            var getTaskHeaders = ScreenshotGetTaskResponseHeaders(Resource);

            ResponseSetup(jsonTaskData, jsonEncodeData, getTaskHeaders);
            RestClientSetup(Resource);

            //Act
            var task = _manager.Start();
            task.Wait();

            Trace.WriteLine(_deleteRequest.Parameters.FirstOrDefault(p => p.Name == EncoderStatusParameters.Result).Value);

            //Assert
            Assert.IsTrue(_deleteRequest.Parameters.Any(p => p.Name == EncoderStatusParameters.Result && (EncoderState)p.Value == EncoderState.Completed));
        }
        static void Main(string[] args)
        {
            Console.WriteLine ("Constructing example data ...");
              Foo foo1 = new Foo ();
              foo1.bar = "foobar";
              foo1.answer = "42";

              Foo foo2 = new Foo ();
              foo2.bar = "barfoo";
              foo2.answer = "none";

              ListItem listItem = new ListItem ();
              listItem.foo1 = foo1;
              listItem.foo2 = foo2;

              ObjectList objectList = new ObjectList ();
              objectList.Add ("item1", listItem);
              objectList.Add ("item2", listItem);

              String realJson = "{ \"item1\":{\"foo1\":{\"bar\":\"foobar\",\"answer\":\"42\"},\"foo2\":{\"bar\":\"barfoo\",\"answer\":\"none\"}},";
              realJson = realJson + "\"item2\":{\"foo1\":{\"bar\":\"foobar\",\"answer\":\"42\"},\"foo2\":{\"bar\":\"barfoo\",\"answer\":\"none\"}} }";

              Console.WriteLine ("Serializing data ...");
              Console.WriteLine (String.Format("Expected JSON: `{0}`", realJson));

              JsonSerializer serializer = new JsonSerializer ();
              String json1 = serializer.Serialize (objectList);
              Console.WriteLine (String.Format ("RestSharp JSON: `{0}`", json1));

              Console.WriteLine ("Deserializing data ...");

              // Does not work.
              try {
            Console.WriteLine("Attempting to deserialize RestSharp JSON ...");
            JsonDeserializer deserializer = new JsonDeserializer();
            RestResponse response = new RestResponse();
            response.Content = json1;
            var decoded = deserializer.Deserialize<ObjectList>(response);
            Console.WriteLine("Success ...");
              } catch (Exception ex) {
            Console.WriteLine ("Deserialization failed:");
            Console.WriteLine (ex.Message);
            Console.WriteLine (ex.StackTrace);
              }

              // Does not work.
              try {
            Console.WriteLine("Attempting to deserialize expected JSON with RestSharp ...");
            JsonDeserializer deserializer = new JsonDeserializer();
            RestResponse response = new RestResponse();
            response.Content = realJson;
            var decoded = deserializer.Deserialize<ObjectList>(response);
            Console.WriteLine("Success ...");
              } catch (Exception ex) {
            Console.WriteLine ("Deserialization failed:");
            Console.WriteLine (ex.Message);
            Console.WriteLine (ex.StackTrace);
              }

              // Does not work.
              try {
            Console.WriteLine("Attempting to deserialize RestSharp JSON with JSON.NET ...");
            ObjectList list = Newtonsoft.Json.JsonConvert.DeserializeObject<ObjectList>(json1);
            Console.WriteLine("Success ...");
              } catch (Exception ex) {
            Console.WriteLine ("Deserialization failed:");
            Console.WriteLine (ex.Message);
            Console.WriteLine (ex.StackTrace);
              }

              // Works.
              try {
            Console.WriteLine("Attempting to deserialize expected JSON with JSON.NET ...");
            ObjectList list = Newtonsoft.Json.JsonConvert.DeserializeObject<ObjectList>(realJson);
            Console.WriteLine("Success ...");
              } catch (Exception ex) {
            Console.WriteLine ("Deserialization failed:");
            Console.WriteLine (ex.Message);
            Console.WriteLine (ex.StackTrace);
              }
        }
예제 #22
0
        private void WriteStreamDataToFile()
        {
            var serializer = new JsonSerializer();
            var writer = new StreamWriter(STREAMDATA_FILE, false);

            foreach (var pair in _streamData)
                writer.WriteLine(serializer.Serialize(pair.Value));

            writer.Close();
        }
 public string ToJson()
 {
     var serializer = new JsonSerializer();
     return serializer.Serialize(this);
 }
예제 #24
0
        /// <summary>
        ///     Serialize and save a PackageHeader to the "Packages" directory
        /// </summary>
        /// <param name="pkgHeader"> The PackageHeader object </param>
        public void SavePackageHeader(PackageHeader pkgHeader)
        {
            try
            {
                var m2 = new JsonSerializer();
                string s = m2.Serialize(pkgHeader);

                string directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
                string pluginsPath = Path.Combine(directory, "packages");

                if (!Directory.Exists(pluginsPath))
                    Directory.CreateDirectory(pluginsPath);

                // now save it
                string path = Path.Combine(pluginsPath, pkgHeader.name + ".json");
                File.WriteAllText(path, s);
            }
            catch
            {
                dynSettings.Bench.Dispatcher.BeginInvoke(
                    (Action)
                    (() => dynSettings.Controller.DynamoViewModel.Log(
                        "Failed to write package header information, won't be under source control.")));
            }
        }
예제 #25
0
        public void FfmpegErrorTest()
        {
            //Arrange
            var taskData = new EncodeTaskData()
            {
                TaskId = TaskId
            };
            var errorEncodeData = new VideoEncodeData()
                {
                    FileId = ConfigurationManager.AppSettings.Get("TestVideo"),
                    VideoParam = new VideoParam()
                        {
                            MediaContainer = MetadataConstant.Mp4Container
                        },
                    AudioParam = new AudioParam()
                        {
                            AudioCodec = MetadataConstant.AacCodec
                        }
                };

            var serializer = new JsonSerializer();
            var jsonEncodeData = serializer.Serialize(errorEncodeData);
            var jsonTaskData = serializer.Serialize(taskData);
            var getTaskHeaders = VideoGetTaskResponseHeaders(Resource);

            ResponseSetup(jsonTaskData, jsonEncodeData, getTaskHeaders);
            RestClientSetup(Resource);

            _restClient.Setup(m => m.Execute(_deleteRequest)).Callback(() => _token.Cancel());

            //Act
            var task = _manager.Start();
            task.Wait();

            Trace.WriteLine(_deleteRequest.Parameters.FirstOrDefault(p => p.Name == EncoderStatusParameters.Result).Value);

            //Assert
            Assert.IsTrue(_deleteRequest.Parameters.Any(p => p.Name == EncoderStatusParameters.Result && (EncoderState)p.Value == EncoderState.Failed));
        }
예제 #26
0
 public Logger()
 {
     CallfireLogFile = TraceSource.Listeners[ClientConstants.LOG_FILE_LISTENER_NAME];
     Serializer = new JsonSerializer();
 }
예제 #27
0
        public void FfmpegHangingTest()
        {
            //Arrange
            var taskData = new EncodeTaskData()
            {
                TaskId = TaskId
            };
            var encodeData = new VideoEncodeData()
                                 {
                                     FileId = ConfigurationManager.AppSettings.Get("HangingVideo"),
                                     ContentType = "video/webm",
                                     AudioParam = new AudioParam()
                                                      {
                                                          AudioCodec = MetadataConstant.VorbisCodec,
                                                          AudioBitrate = 128000,
                                                      },
                                     VideoParam = new VideoParam()
                                                      {
                                                          VideoWidth = 480,
                                                          VideoHeight = 360,

                                                          VideoCodec = MetadataConstant.Vp8Codec,
                                                          VideoBitrate = 500000,
                                                          MediaContainer = MetadataConstant.WebmContainer,
                                                          FrameRate = 25,
                                                          KeyFrameRate = 10
                                                      }
                                 };

            var serializer = new JsonSerializer();
            var jsonEncodeData = serializer.Serialize(encodeData);
            var jsonTaskData = serializer.Serialize(taskData);
            var getTaskHeaders = VideoGetTaskResponseHeaders(Resource);

            ResponseSetup(jsonTaskData, jsonEncodeData, getTaskHeaders);
            RestClientSetup(Resource);

            //Act
            var task = _manager.Start();
            task.Wait();

            Trace.WriteLine(_deleteRequest.Parameters.FirstOrDefault(p => p.Name == EncoderStatusParameters.Result).Value);

            //Assert
            //Assert.IsTrue(_setStatusRequest.Parameters.Any(p=>p.Name==ProcessStatusParameters.State && (ProcessState)p.Value==ProcessState.Hanging));
            Assert.IsTrue(_deleteRequest.Parameters.Any(p => p.Name == EncoderStatusParameters.Result && (EncoderState)p.Value == EncoderState.Cancelled));
        }
예제 #28
0
        private async void loginWebBrowser_Navigating(object sender, NavigatingEventArgs e)
        {
            Match match = Regex.Match(e.Uri.Query, @"\?code=([\w\d]+)");
            if (match.Success == false)
                return;

            string code = match.Groups[1].Value;
            e.Cancel = true;
            progressBar.IsIndeterminate = true;

            var client = new RestClient("https://api.weibo.com");
            //client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
            try
            {
                SinaLogin LoginResponse;
                {
                    var req = new RestRequest();
                    req.Resource = "oauth2/access_token";
                    req.Method = Method.POST;
                    req.RequestFormat = DataFormat.Json;
                    req.OnBeforeDeserialization = (resp) => resp.ContentType = "application/json";
                    req.AddParameter(new Parameter() { Name = "client_id", Value = SinaApiConfig.app_key, Type = ParameterType.GetOrPost });
                    req.AddParameter(new Parameter() { Name = "client_secret", Value = SinaApiConfig.app_secret, Type = ParameterType.GetOrPost });
                    req.AddParameter(new Parameter() { Name = "code", Value = code, Type = ParameterType.GetOrPost });
                    req.AddParameter(new Parameter() { Name = "grant_type", Value = "authorization_code", Type = ParameterType.GetOrPost });
                    req.AddParameter(new Parameter() { Name = "redirect_uri", Value = "www.google.com", Type = ParameterType.GetOrPost });

                    var response = await RestSharpAsync.RestSharpExecuteAsyncTask<SinaLogin>(client, req);
                    LoginResponse = response.Data;
                    LoginResponse.request_time_utc = DateTime.Now.ToFileTimeUtc();
                }

                {
                    var req = new RestRequest();
                    req.Resource = "/2/users/show.json";
                    req.Method = Method.GET;
                    req.RequestFormat = DataFormat.Json;
                    req.OnBeforeDeserialization = (resp) => resp.ContentType = "application/json";
                    req.AddParameter(new Parameter() { Name = "access_token", Value = LoginResponse.access_token, Type = ParameterType.GetOrPost });
                    req.AddParameter(new Parameter() { Name = "uid", Value = LoginResponse.uid, Type = ParameterType.GetOrPost });

                    var response = await RestSharpAsync.RestSharpExecuteAsyncTask<user>(client, req);
                    u.name = response.Data.name;
                }

                MessageBox.Show(string.Format("{0} 登录成功", u.name));

                if (LoginResponse != null)
                {
                    string str = "";
                    if (NavigationContext.QueryString.TryGetValue("mrguokr", out str))
                    {
                        JsonSerializer j = new JsonSerializer();
                        var t = new EmailComposeTask();
                        t.To = "*****@*****.**";
                        t.Subject = "mrGuokr access token update (" + DateTime.Now.ToString() + ")";
                        t.Body = j.Serialize(LoginResponse);
                        t.Show();
                    }
                    else
                    {
                        ViewModelLocator.ApplicationSettingsStatic.WeiboAccountSinaLogin = LoginResponse;
                        ViewModelLocator.ApplicationSettingsStatic.WeiboAccountSinaLogin.username = u.name;
                        if (NavigationService.CanGoBack)
                            NavigationService.GoBack();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("貌似有点问题,重来一次吧~");
                Debug.WriteLine(ex.InnerException.ToString());
            }
        }
예제 #29
0
        public void EncodeMp4TaskTest()
        {
            //Arrange
            var taskData = new EncodeTaskData()
                               {
                                   TaskId = TaskId
                               };
            var encodeData = new VideoEncodeData()
                                 {
                                     FileId = ConfigurationManager.AppSettings.Get("TestVideo"),
                                     ContentType = "video/mp4",
                                     AudioParam = new AudioParam()
                                                      {
                                                          AudioCodec = MetadataConstant.AacCodec,
                                                          AudioBitrate = 64000
                                                      },
                                     VideoParam = new VideoParam()
                                                      {
                                                          VideoWidth = 480,
                                                          VideoHeight = 360,
                                                          
                                                          VideoCodec = MetadataConstant.AvcCodec,
                                                          VideoBitrate = 500000,
                                                          VideoProfile = MetadataConstant.AvcMainProfile,
                                                          MediaContainer = MetadataConstant.Mp4Container,
                                                          FrameRate = 25,
                                                          KeyFrameRate = 10
                                                      }
                                 };

            var serializer = new JsonSerializer();
            var jsonEncodeData = serializer.Serialize(encodeData);
            var jsonTaskData = serializer.Serialize(taskData);
            var getTaskHeaders = VideoGetTaskResponseHeaders(Resource);

            ResponseSetup(jsonTaskData, jsonEncodeData, getTaskHeaders);
            RestClientSetup(Resource);
            
            //Act
            var task = _manager.Start();
            task.Wait();

            Trace.WriteLine(_deleteRequest.Parameters.FirstOrDefault(p => p.Name == EncoderStatusParameters.Result).Value);

            //Assert
            Assert.IsTrue(_deleteRequest.Parameters.Any(p => p.Name == EncoderStatusParameters.Result && (EncoderState)p.Value == EncoderState.Completed));
        }
        private void WritePackageHeader(Package package, IDirectoryInfo rootDir)
        {
            var pkgHeader = PackageUploadBuilder.NewRequestBody(package);

            // build the package header json, which will be stored with the pkg
            var jsSer = new JsonSerializer();
            var pkgHeaderStr = jsSer.Serialize(pkgHeader);

            // write the pkg header to the root directory of the pkg
            var headerPath = Path.Combine(rootDir.FullName, PackageJsonName);
            if (fileSystem.FileExists(headerPath))
            {
                fileSystem.DeleteFile(headerPath);
            }

            fileSystem.WriteAllText(headerPath, pkgHeaderStr);
        }
예제 #31
0
        public string ToJson()
        {
            var session = new
            {
                GameId = Game.Id,
                Game.ExecutableDirectory,
                StartDate = StartDateTime,
                EndDate = EndDateTime.Value,
                Version,
                Duration = Duration.TotalSeconds,
                IsInvisible,
                IdleDuration = AfkDuration.TotalSeconds,
                IdleTime = IdleTime.Select (i => new { StartDate = i.StartDateTime, i.Duration, i.IsClosed }).ToList ()
            };

            var serializer = new JsonSerializer();
            return serializer.Serialize( session );
        }