private static async Task<Quote> GetQuoteRestSharp() { var uri = new Uri("https://andruxnet-random-famous-quotes.p.mashape.com/?cat=movies"); using (var client = new RestSharp.Portable.HttpClient.RestClient(uri)) { var request = new RestRequest(Method.POST); request.AddHeader("X-Mashape-Key", "SVRrKUoLRBmshZ7IANqnF4kmkxt7p1kYcMNjsnWxDGnoyCOUwh"); //request.AddHeader("Content-Type", "application/x-www-form-urlencoded"); request.AddHeader("Accept", "application/json"); var response = await client.Execute<Quote>(request); var quote = await Task.Run(() => new JsonDeserializer().Deserialize<Quote>(response)); return quote; } }
public Task<Component> UpdateComponentStatusAsync(string roomId, string deviceId, bool status) { var request = new RestRequest("components?roomId={roomId}&deviceId={deviceId}&status={status}") {Method = HttpMethod.Put}; request.AddUrlSegment("roomId", roomId) .AddUrlSegment("deviceId", deviceId) .AddUrlSegment("status", status); request.AddHeader("Content-Type", "application/json"); var task = _client.Execute<Component>(request).ContinueWith(t => t.Result.Data); return task; }
public static async Task<JObject> Execute(string callback, HttpMethod httpMethod, Dictionary<string,string> parameters, Dictionary<string,string> files = null, object obj = null) { //init request var request = new RestRequest (callback, httpMethod); request.AddHeader("Content-Type", "application/json; charset=utf-8"); //add parameters foreach (var key in parameters.Keys) { request.AddParameter (key, parameters [key].ToString ()); } //add files //if (files != null && files.Keys.Count > 0) { // foreach (var key in files.Keys) { // request.AddFile( .AddFile (key, files[key]); // } //} //execute var result = await client.Execute<string>(request); //print response Debug.WriteLine (callback); Debug.WriteLine (result.Data); //save cookies //var sessionCookie = response.Cookies.SingleOrDefault(x => x.Name == "WRAD_SESSION"); //if (sessionCookie != null && APIHelper.restClient.CookieContainer==null) //{ // APIHelper.restClient.CookieContainer = new CookieContainer (); /// APIHelper.restClient.CookieContainer.Add(new Uri(APIHelper.baseUrl),new Cookie(sessionCookie.Name, sessionCookie.Value, sessionCookie.Path, sessionCookie.Domain)); //} //string to JObect deserialization try{ return JObject.Parse(result.Data); } catch(Exception ex){ Debug.WriteLine (ex.Message + (ex.InnerException != null ? ("\n" + ex.InnerException.Message) : "")); return null; } }
/// <summary> /// Permet la connexion du joueur /// </summary> /// <param name="userNotLog">l'objet User contenant le joueur voulant se connecter</param> /// <returns></returns> public async Task<dynamic> loginUser(User userNotLog) { RestRequest request = new RestRequest("user/login", Method.POST); request.AddHeader("Content-Type", "application/json"); request.AddJsonBody(userNotLog); _client.IgnoreResponseStatusCode = true; var response = await _client.Execute<dynamic>(request); var data = Encoding.UTF8.GetString(response.RawBytes); //Permet de recuperer le message d'erreur avant que le tache se termine if (!response.IsSuccess){ throw new Exception(data); } return data; }
public async Task<dynamic> passwordForgot(string mail) { RestRequest request = new RestRequest("user/passwordforgot", Method.POST); request.AddHeader("Content-Type", "application/json"); request.AddParameter("mail", mail, ParameterType.RequestBody, "application/json"); _client.IgnoreResponseStatusCode = true; var response = await _client.Execute<dynamic>(request); var data = Encoding.UTF8.GetString(response.RawBytes); //Permet de recuperer le message d'erreur avant que le tache se termine if (!response.IsSuccess) { throw new Exception(data); } return data; }
/// <summary> /// Converts this instance to an IRestRequest /// </summary> internal IRestRequest UnShim() { var req = new RestRequest(this.Resource, Unshim(this.Method)); if (!this.CsrfToken.IsBlank()) req.AddHeader("X-CSRF-Token", this.CsrfToken); if (this.Body != null) req.AddJsonBody(this.Body); if (this.Cookies != null) foreach (var cookie in this.Cookies) req.AddParameter(cookie.Key, cookie.Value, ParameterType.Cookie); if (this.Parameters != null) { //if (this.Parameters.Count > 0) // req.AddHeader("Content-Type", "application/x-www-form-urlencoded"); foreach (var param in this.Parameters) req.AddParameter(param.Key, param.Value, ParameterType.RequestBody); } //later: try this for attaching files to nodes: //req.ContentCollectionMode = ContentCollectionMode.MultiPartForFileParameters; //req.RequestFormat = DataFormat.Json; <--- Drupal ignores this //if (this.Attachment != null) //{ // req.AddFile(this.Attachment.Name, // this.Attachment.Stream, // this.Attachment.Name, // MediaTypeHeaderValue.Parse("multipart/form-data")); // req.AddParameter("field_name", "field_private_file");//hack: hard-code! // //req.AddParameter("files[files]", "@" + this.Attachment.Name); //} return req; }
public RestRequest CreateGetFileRequest(string path, string root, long startByte, long endByte, string rev) { var request = new RestRequest("{version}/files/{root}{path}", HttpMethod.Get); request.AddParameter("version", _version, ParameterType.UrlSegment); request.AddParameter("path", path, ParameterType.UrlSegment); request.AddParameter("root", root, ParameterType.UrlSegment); request.AddParameter("rev", rev, ParameterType.UrlSegment); request.AddHeader("Range", "bytes=" + startByte + "-" + endByte); return request; }