public static CanvasDiscussionTopic PostNewDiscussionMessage(int course_id, int discussion_id, string new_html) { string url = $"{domain}/api/v1/courses/{course_id}/discussion_topics/{discussion_id}"; var restClient = new RestClient(url); var request = new RestRequest(Method.PUT); request.AddHeader("Authorization", $"Bearer {token}"); RestSharp.Parameter p = new RestSharp.Parameter { ContentType = "application/x-www-form-urlencoded", Name = "message", Value = new_html, Type = ParameterType.GetOrPost }; request.AddParameter(p); var response = restClient.Execute <CanvasDiscussionTopic>(request); return(response.Data); }
public SpreedlyStatus Resolve(Parameter statusHeader) { if (statusHeader == null) throw new ArgumentNullException("statusHeader"); return ResolveStatusCode(GetStatusCodeString(statusHeader.Value.ToString())); }
public Usuario RetornaUsuario(string id) { Usuario u; Parameter at = new Parameter(); Parameter at1 = new Parameter(); List<Parameter> param = new List<Parameter>(); //Alimentando parametros //at1.Name = "access_token"; //at1.Value = m.AccessToken; at.Name = "user_id"; at.Value = id; param.Add(at); //param.Add(at1); RestResponse resp = (RestResponse)m.Get("/users/" + id); if (resp.StatusCode == System.Net.HttpStatusCode.OK) { var a = new JsonSerializerSettings(); u = JsonConvert.DeserializeObject<Usuario>(resp.Content); return u; } else { throw new Exception("Falha ao tentar recuperar a Usuario"); } }
public void AddParameter(string name, string value) { Parameter parm = new RestSharp.Parameter(); parm.Name = name; parm.Value = value; parameters.Add(parm); }
public static CanvasQuiz PostNewQuizDescription(int course_id, int quiz_id, string new_html) { string url = $"{domain}/api/v1/courses/{course_id}/quizzes/{quiz_id}"; var restClient = new RestClient(url); var request = new RestRequest(Method.PUT); request.AddHeader("Authorization", $"Bearer {token}"); RestSharp.Parameter p = new RestSharp.Parameter { ContentType = "application/x-www-form-urlencoded", Name = "quiz[notify_of_update]", Value = false, Type = ParameterType.GetOrPost }; RestSharp.Parameter p2 = new RestSharp.Parameter { ContentType = "application/x-www-form-urlencoded", Name = "quiz[description]", Value = new_html, Type = ParameterType.GetOrPost }; request.AddParameter(p); request.AddParameter(p2); var response = restClient.Execute <CanvasQuiz>(request); return(response.Data); }
/// <summary> /// Called just before issuing request to third-party service when everything is ready. /// Allows to add extra parameters to request or do any other needed preparations. /// </summary> protected override void BeforeGetUserInfo(BeforeAfterRequestArgs args) { // Source document // http://dev.odnoklassniki.ru/wiki/pages/viewpage.action?pageId=12878032 args.Request.AddParameter("application_key", _configuration.ClientPublic); args.Request.AddParameter("method", "users.getCurrentUser"); // workaround for current design, oauth_token is always present in URL, so we need emulate it for correct request signing var fakeParam = new Parameter() { Name = "oauth_token", Value = AccessToken }; args.Request.AddParameter(fakeParam); // Signing. // Call API methods using access_token instead of session_key parameter // Calculate every request signature parameter sig using a little bit different way described in // http://dev.odnoklassniki.ru/wiki/display/ok/Authentication+and+Authorization // sig = md5( request_params_composed_string+ md5(access_token + application_secret_key) ) // Don't include access_token into request_params_composed_string string signature = string.Concat(args.Request.Parameters.OrderBy(x => x.Name).Select(x => string.Format("{0}={1}", x.Name, x.Value)).ToList()); signature = (signature + (AccessToken + _configuration.ClientSecret).GetMd5Hash()).GetMd5Hash(); // Removing fake param to prevent dups args.Request.Parameters.Remove(fakeParam); args.Request.AddParameter("access_token", AccessToken); args.Request.AddParameter("sig", signature); }
/// <summary> /// Add a parameter to use on every request made with this client instance /// </summary> /// <param name="restClient">The IRestClient instance</param> /// <param name="p">Parameter to add</param> /// <returns></returns> public static void AddDefaultParameter(this IRestClient restClient, Parameter p) { if (p.Type == ParameterType.RequestBody) { throw new NotSupportedException( "Cannot set request body from default headers. Use Request.AddBody() instead."); } restClient.DefaultParameters.Add(p); }
/// <summary> /// Parses the specified header and returns a collection of warning headers discovered and parsed. /// </summary> /// <param name="header">The header to parse.</param> /// <returns>A collection of warning headers that were discovered in the header and parsed.</returns> public static IEnumerable<HttpWarning> Parse(Parameter header) { if (header != null && header.Value != null) { foreach (Match match in regex.Matches(header.Value.ToString())) { yield return HttpWarning.Parse(match.Value); } } }
/// <summary>从RestSharp Parameter转换参数 /// </summary> public static Parameter TransferToParameter(this RestSharp.Parameter parameter) { var p = new Parameter() { Name = parameter.Name, Value = parameter.Value, ContentType = parameter.ContentType, Type = parameter.Type.TransferToParameterType(), DataFormat = parameter.DataFormat.TransferToDataFormat() }; return(p); }
public void HandleErrors () { Meli.ApiUrl = "http://localhost:3000"; Meli m = new Meli (123456, "client secret", "invalid token"); var p = new Parameter (); p.Name = "access_token"; p.Value = m.AccessToken; var ps = new List<Parameter> (); ps.Add (p); var response = m.Get ("/users/me", ps); Assert.AreEqual (HttpStatusCode.Forbidden, response.StatusCode); }
public IEnumerable<CrmContact> GetContacts(long responsibleUserId) { var contacts = new List<CrmContact>(); for (var offset = 0;; offset += _crmConfig.LimitRows ?? 500) { _crmConfig.LimitOffset = offset; var parameterResponsibleUserId = new Parameter {Name = "responsible_user_id", Value = responsibleUserId, Type = ParameterType.QueryString}; var contactsList = AmoMethod.Get<CrmContactResponse>(_crmConfig, parameterResponsibleUserId); if (contactsList == null) break; contacts.AddRange(contactsList.Response.Contacts); } return contacts; }
public IEnumerable<CrmContact> GetContacts(string query) { var contacts = new List<CrmContact>(); for (var offset = 0;; offset += _crmConfig.LimitRows ?? 500) { _crmConfig.LimitOffset = offset; var parameterQuery = new Parameter {Name = "query", Value = query, Type = ParameterType.QueryString}; var contactsList = AmoMethod.Get<CrmGetContactResponse>(_crmConfig, parameterQuery); if (contactsList == null) break; contacts.AddRange(contactsList.Response.Contacts); } return contacts; }
public void GetWithRefreshToken () { Meli.ApiUrl = "http://localhost:3000"; Meli m = new Meli (123456, "client secret", "expired token", "valid refresh token"); var p = new Parameter (); p.Name = "access_token"; p.Value = m.AccessToken; var ps = new List<Parameter> (); ps.Add (p); var response = m.Get ("/users/me", ps); Assert.AreEqual (HttpStatusCode.OK, response.StatusCode); Assert.IsNotNullOrEmpty (response.Content); }
/// <summary> /// Parameterizes this <see cref="ShopifyOrderFilterOptions"/> class, with special handling for <see cref="Ids"/>. /// </summary> /// <param name="propName">The name of the property. Will match the property's <see cref="JsonPropertyAttribute"/> name — /// rather than the real property name — where applicable. Use <paramref name="property"/>.Name to get the real name.</param> /// <param name="value">The property's value.</param> /// <param name="property">The property itself.</param> /// <param name="type">The type of parameter to create.</param> /// <returns>The new parameter.</returns> public override Parameter ToSingleParameter(string propName, object value, PropertyInfo property, ParameterType type) { if (propName == "ids" || propName == "Ids") { //RestSharp does not automatically convert arrays into querystring params. var param = new Parameter() { Name = propName, Type = type, Value = string.Join(",", value as IEnumerable<long> ) }; return param; } return base.ToSingleParameter(propName, value, property, type); }
public static CanvasQuizQuesiton PostNewQuizQuestionAnswerComment(int course_id, int quiz_id, int question_id, List <CanvasQuizQuestionAnswers> new_answers) { string url = $"{domain}/api/v1/courses/{course_id}/quizzes/{quiz_id}/questions/{question_id}"; var restClient = new RestClient(url); var request = new RestRequest(Method.PUT); request.AddHeader("Authorization", $"Bearer {token}"); RestSharp.Parameter p = new RestSharp.Parameter { ContentType = "application/x-www-form-urlencoded", Name = "question[answers]", Value = new_answers, Type = ParameterType.GetOrPost }; request.AddParameter(p); var response = restClient.Execute <CanvasQuizQuesiton>(request); return(response.Data); }
public static CanvasPage PostNewPageContent(int course_id, string page_url, string new_html) { string url = $"{domain}/api/v1/courses/{course_id}/pages/{page_url}"; var restClient = new RestClient(url); var request = new RestRequest(Method.PUT); request.AddHeader("Authorization", $"Bearer {token}"); RestSharp.Parameter p = new RestSharp.Parameter { ContentType = "application/x-www-form-urlencoded", Name = "wiki_page[body]", Value = new_html, Type = ParameterType.GetOrPost }; request.AddParameter(p); var response = restClient.Execute <CanvasPage>(request); return(response.Data); }
public static CanvasAssignment PostNewAssignmentDescription(int course_id, int assignment_id, string new_html) { string url = $"{domain}/api/v1/courses/{course_id}/assignments/{assignment_id}"; var restClient = new RestClient(url); var request = new RestRequest(Method.PUT); request.AddHeader("Authorization", $"Bearer {token}"); RestSharp.Parameter p = new RestSharp.Parameter { ContentType = "application/x-www-form-urlencoded", Name = "assignment[description]", Value = new_html, Type = ParameterType.GetOrPost }; request.AddParameter(p); var response = restClient.Execute <CanvasAssignment>(request); return(response.Data); }
public void ResponderPergunta(decimal idQuestion, string texto) { try { Parameter at = new Parameter(); List<Parameter> param = new List<Parameter>(); //Alimentando parametros at.Name = "access_token"; at.Value = m.AccessToken; param.Add(at); m.Post("/answers", param, new { question_id = idQuestion, text = texto }); } catch (Exception ex) { throw new Exception("Erro na rotina ResponderPergunta", ex); } }
public Question RetonarQuestion(string resource) { try { Question q; Parameter at = new Parameter(); List<Parameter> param = new List<Parameter>(); //Alimentando parametros at.Name = "access_token"; at.Value = m.AccessToken; param.Add(at); RestResponse resp = (RestResponse)m.Get(resource, param); if (resp.StatusCode == System.Net.HttpStatusCode.OK) { var a = new JsonSerializerSettings(); q = JsonConvert.DeserializeObject<Question>(resp.Content); FinalizaML(m.AccessToken, m.RefreshToken); return q; } else { throw new Exception(string.Format("Falha ao tentar recuperar a pergunta {0} resp.StatusCode = {1} {0} resource = {2} {0}", Environment.NewLine, resp.StatusCode, resource)); } } catch (Exception ex) { throw new Exception("Erro na rotina RetonarQuestion.", ex); } }
public ListOrder RetornarOrdens(Usuario u, Int32 ofset) { ListOrder o; Parameter at = new Parameter(); Parameter seller = new Parameter(); Parameter offset = new Parameter(); List<Parameter> param = new List<Parameter>(); //Alimentando parametros at.Name = "access_token"; at.Value = m.AccessToken; seller.Name = "seller"; seller.Value = u.id; offset.Name = "offset"; offset.Value = ofset; //Adicionando na lista param.Add(seller); param.Add(at); param.Add(offset); RestResponse resp = (RestResponse)m.Get("/orders/search", param); //offset if (resp.StatusCode == System.Net.HttpStatusCode.OK) { var a = new JsonSerializerSettings(); o = JsonConvert.DeserializeObject<ListOrder>(resp.Content); return o; } else { throw new Exception("Falha ao tentar recuperar a lista de ordens"); } }
/// <summary>根据HttpBuilder构建RequestRequest请求 /// </summary> public static IRestRequest BuildRequest(this HttpBuilder builder) { IRestRequest request = new RestRequest { Method = ParseMethod(builder.Method), Resource = builder.Resource.IsNullOrWhiteSpace() ? "" : builder.Resource }; foreach (var parameter in builder.Parameters) { var p = new RestSharp.Parameter() { Name = parameter.Name, Value = parameter.Value, DataFormat = parameter.DataFormat.ParseDataFormat(), ContentType = parameter.ContentType, Type = parameter.Type.ParseParameterType() }; request.AddParameter(p); } foreach (var file in builder.Files) { var f = new RestSharp.FileParameter() { Name = file.Name, FileName = file.FileName, ContentLength = file.ContentLength, ContentType = file.ContentType, Writer = file.Writer }; request.Files.Add(f); } return(request); }
private void AddPostParameter(IRestRequest request, string name, object value) { Parameter p = new Parameter(); p.Type = ParameterType.GetOrPost; p.Name = name; p.Value = value; request.AddParameter(p); }
private RestRequest RequestFromIARequest(IARequest request) { RestRequest result = new RestRequest(); switch (request.Route.Action) { case "GET": result.Method = Method.GET; break; case "POST": result.Method = Method.POST; break; case "PUT": result.Method = Method.PUT; break; case "OPTIONS": result.Method = Method.OPTIONS; break; case "DELETE": result.Method = Method.DELETE; break; case "HEAD": result.Method = Method.HEAD; break; case "PATCH": result.Method = Method.PATCH; break; default: result.Method = Method.GET; break; } Dictionary<string, string> parameters = new Dictionary<string, string>(request.Parameters); result.Resource = ReplaceParameters(request.Route.Resource, parameters); foreach (KeyValuePair<string, string> parameter in parameters) { result.AddParameter(parameter.Key, parameter.Value); } if (request.Origin != null) { result.AddHeader("X-IA-Origin", request.Origin.Name); } foreach (KeyValuePair<string, string> metaentry in request.Metadata) { result.AddHeader(metaentry.Key, metaentry.Value); } result.AddHeader("Content-Type", request.ContentType); Parameter p = new Parameter(); p.Value = System.Text.Encoding.UTF8.GetString(request.Body); p.Type = ParameterType.RequestBody; result.Parameters.Add(p); return result; }
public IRestRequest AddParameter(Parameter p) { return _restRequest.AddParameter(p); }
/// <summary> /// Gets the promos. /// </summary> /// <param name="categoryId">The category identifier.</param> /// <param name="errorResponse">The error response.</param> /// <param name="isTopFree">if set to <c>true</c> [is top free].</param> /// <param name="isFeatured">if set to <c>true</c> [is featured].</param> /// <param name="isTopPaid">if set to <c>true</c> [is top paid].</param> /// <returns></returns> public List<Promo> GetPromos(int? categoryId, out string errorResponse, bool isTopFree = false, bool isFeatured = false, bool isTopPaid = false) { errorResponse = string.Empty; // setup REST call var client = new RestClient( _rockStoreUrl ); client.Timeout = _clientTimeout; var request = new RestRequest(); request.Method = Method.GET; if (categoryId.HasValue) { request.Resource = string.Format( "Api/Promos/GetByCategory/{0}", categoryId.Value.ToString().ToString() ); } else { request.Resource = "Api/Promos/GetNonCategorized"; } if ( isTopFree ) { Parameter parm = new Parameter(); parm.Name = "$filter"; parm.Value = "IsTopFree eq true"; parm.Type = ParameterType.QueryString; request.AddParameter( parm ); } if ( isTopPaid ) { Parameter parm = new Parameter(); parm.Name = "$filter"; parm.Value = "IsTopPaid eq true"; parm.Type = ParameterType.QueryString; request.AddParameter( parm ); } if ( isFeatured ) { Parameter parm = new Parameter(); parm.Name = "$filter"; parm.Value = "IsFeatured eq true"; parm.Type = ParameterType.QueryString; request.AddParameter( parm ); } // deserialize to list of packages var response = client.Execute<List<Promo>>( request ); if ( response.ResponseStatus == ResponseStatus.Completed ) { return response.Data; } else { errorResponse = response.ErrorMessage; return new List<Promo>(); } }
/// <summary> /// Connection workflow logic with backoff time of 60s /// </summary> private bool doRESTAuthentication() { logger.Debug(MethodBase.GetCurrentMethod().Name + "() - START"); bool success = false; this.REST_AccessToken = ""; lock (this) { isReAuthenticating = true; // Already connected //if (this.IsAccessTokenAvailable) //{ //throw new InvalidOperationException("Already connected."); //} bool isAuthenticated = false; bool isFirstTime = true; int tryCounter = 0; while (!isAuthenticated && (tryCounter < this.retryAuthCount)) { try { if (!isFirstTime) { logger.Debug("" + MethodBase.GetCurrentMethod().Name + "()] Waiting for " + this.retryAuthTimeMs + "ms before retrying REST Auth."); Console.WriteLine(DateTime.Now.ToString() + " Waiting for " + this.retryAuthTimeMs + "ms before retrying REST Auth."); Thread.Sleep(this.retryAuthTimeMs); } logger.Debug(MethodBase.GetCurrentMethod().Name + "() - Creating RestClient..."); Console.WriteLine(DateTime.Now.ToString() + " Creating RestClient..."); /* See http://restsharp.org/ for more info about the following authentication flow logic: */ var client = new RestClient(); client.BaseUrl = this.REST_Auth_BaseUrl; logger.Debug(MethodBase.GetCurrentMethod().Name + "() - Creating HttpBasicAuthenticator..."); Console.WriteLine(DateTime.Now.ToString() + " Creating HttpBasicAuthenticator..."); //connect using the Client ID and Client Secret provided on the code.mxit.com Dashboard client.Authenticator = new HttpBasicAuthenticator(this.REST_ClientId, this.REST_ClientSecret); logger.Debug(MethodBase.GetCurrentMethod().Name + "() - Creating RestRequest.."); Console.WriteLine(DateTime.Now.ToString() + " Creating RestRequest..."); var RESTRequest = new RestRequest(); RESTRequest.Resource = "/token"; RESTRequest.Method = Method.POST; //Always "client_credentials" (http://dev.mxit.com/docs/authentication) Parameter parameter1 = new Parameter(); parameter1.Name = "grant_type"; parameter1.Value = this.REST_grant_type; parameter1.Type = ParameterType.GetOrPost; RESTRequest.Parameters.Add(parameter1); //The list of scopes which you are requesting access to. (http://dev.mxit.com/docs/authentication) Parameter parameter2 = new Parameter(); parameter2.Name = "scope"; parameter2.Value = this.REST_scope; parameter2.Type = ParameterType.GetOrPost; RESTRequest.Parameters.Add(parameter2); logger.Debug(MethodBase.GetCurrentMethod().Name + "() - Executing RestRequest..."); Console.WriteLine(DateTime.Now.ToString() + " Executing RestRequest..."); RestResponse RESTResponse = (RestResponse)client.Execute(RESTRequest); //Deserialize the response string from the REST request, and convert to a Dictionary collection: Dictionary<string, string> RESTResponseDict = JsonConvert.DeserializeObject<Dictionary<string, string>>(RESTResponse.Content); //Get the accessToken from the Dictionary: String receivedAccessToken = RESTResponseDict["access_token"]; bool gotValidAccessToken = (!String.IsNullOrEmpty(receivedAccessToken)); if (gotValidAccessToken) { logger.Debug(MethodBase.GetCurrentMethod().Name + "() - AccessToken RECEIVED: " + receivedAccessToken); Console.WriteLine(DateTime.Now.ToString() + " AccessToken RECEIVED: " + receivedAccessToken); this.REST_AccessToken = receivedAccessToken; isAuthenticated = true; success = true; } else { logger.Error(MethodBase.GetCurrentMethod().Name + "() - AccessToken Empty!"); Console.WriteLine(DateTime.Now.ToString() + " AccessToken Empty!"); isAuthenticated = false; success = false; } } catch (Exception ex) { logger.Debug(MethodBase.GetCurrentMethod().Name + "() - Problem authenticating against Mxit REST Service: " + ex.ToString()); Console.WriteLine(DateTime.Now.ToString() + " Problem authenticating against Mxit REST Service, going to keep on trying"); isFirstTime = false; } //Increment the try counter within the loop: tryCounter += 1; isFirstTime = false; } //loop logger.Debug("[" + MethodBase.GetCurrentMethod().Name + "()] - END"); isReAuthenticating = false; }//lock return success; }
public virtual IEnumerable<Inbound> SearchBySerialNumber(IEnumerable<string> serialNumbers) { var parameters = new Parameter { Name = "serial_numbers", Value = String.Join(",", serialNumbers), Type = ParameterType.QueryString }; return this.Get<IEnumerable<Inbound>>(Resource + "/findbyserialnumber", parameters); }
private static string EncodeParameter(Parameter parameter) { return((parameter.Value == null) ? (parameter.Name.UrlEncode() + "=") : (parameter.Name.UrlEncode() + "=" + parameter.Value.ToString().UrlEncode())); }
private string RemoveBaseUrl(Parameter newLocation) { return(newLocation.Value.ToString().Replace(Connection.ApiUrl.ToString(), string.Empty)); }
private void ConfigureHttp(IRestRequest request, IHttp http) { http.Encoding = this.Encoding; http.AlwaysMultipartFormData = request.AlwaysMultipartFormData; http.UseDefaultCredentials = request.UseDefaultCredentials; http.ResponseWriter = request.ResponseWriter; http.CookieContainer = this.CookieContainer; // move RestClient.DefaultParameters into Request.Parameters foreach (Parameter p in this.DefaultParameters) { if (request.Parameters.Any(p2 => p2.Name == p.Name && p2.Type == p.Type)) { continue; } request.AddParameter(p); } // Add Accept header based on registered deserializers if none has been set by the caller. if (request.Parameters.All(p2 => p2.Name.ToLowerInvariant() != "accept")) { string accepts = string.Join(", ", this.AcceptTypes.ToArray()); request.AddParameter("Accept", accepts, ParameterType.HttpHeader); } http.Url = this.BuildUri(request); http.PreAuthenticate = this.PreAuthenticate; string userAgent = this.UserAgent ?? http.UserAgent; http.UserAgent = userAgent.HasValue() ? userAgent : "RestSharp/" + version; int timeout = request.Timeout > 0 ? request.Timeout : this.Timeout; if (timeout > 0) { http.Timeout = timeout; } int readWriteTimeout = request.ReadWriteTimeout > 0 ? request.ReadWriteTimeout : this.ReadWriteTimeout; if (readWriteTimeout > 0) { http.ReadWriteTimeout = readWriteTimeout; } #if !SILVERLIGHT http.FollowRedirects = this.FollowRedirects; #endif #if FRAMEWORK if (this.ClientCertificates != null) { http.ClientCertificates = this.ClientCertificates; } http.MaxRedirects = this.MaxRedirects; http.CachePolicy = this.CachePolicy; #endif if (request.Credentials != null) { http.Credentials = request.Credentials; } IEnumerable <HttpHeader> headers = from p in request.Parameters where p.Type == ParameterType.HttpHeader select new HttpHeader { Name = p.Name, Value = Convert.ToString(p.Value) }; foreach (HttpHeader header in headers) { http.Headers.Add(header); } IEnumerable <HttpCookie> cookies = from p in request.Parameters where p.Type == ParameterType.Cookie select new HttpCookie { Name = p.Name, Value = Convert.ToString(p.Value) }; foreach (HttpCookie cookie in cookies) { http.Cookies.Add(cookie); } IEnumerable <HttpParameter> @params = from p in request.Parameters where p.Type == ParameterType.GetOrPost && p.Value != null select new HttpParameter { Name = p.Name, Value = Convert.ToString(p.Value) }; foreach (HttpParameter parameter in @params) { http.Parameters.Add(parameter); } foreach (FileParameter file in request.Files) { http.Files.Add(new HttpFile { Name = file.Name, ContentType = file.ContentType, Writer = file.Writer, FileName = file.FileName, ContentLength = file.ContentLength }); } Parameter body = request.Parameters.FirstOrDefault(p => p.Type == ParameterType.RequestBody); // Only add the body if there aren't any files to make it a multipart form request // If there are files, then add the body to the HTTP Parameters if (body != null) { http.RequestContentType = body.Name; if (!http.Files.Any()) { object val = body.Value; if (val is byte[]) { http.RequestBodyBytes = (byte[])val; } else { http.RequestBody = Convert.ToString(body.Value); } } else { http.Parameters.Add(new HttpParameter { Name = body.Name, Value = Convert.ToString(body.Value), ContentType = body.ContentType }); } } #if FRAMEWORK this.ConfigureProxy(http); #endif }
public CrmContact GetContact(long contactId) { var parameterId = new Parameter {Name = "id", Value = contactId, Type = ParameterType.QueryString}; var contact = AmoMethod.Get<CrmGetContactResponse>(_crmConfig, parameterId); return contact.Response.Contacts.FirstOrDefault(); }
public Usuario RetornaUsuario() { try { Usuario u = new Usuario(); Parameter at = new Parameter(); List<Parameter> param = new List<Parameter>(); //Alimentando parametros at.Name = "access_token"; at.Value = m.AccessToken; //Adicionando na lista param.Add(at); RestResponse resp = (RestResponse)m.Get("/users/me", param); if (resp.StatusCode == System.Net.HttpStatusCode.OK) { var a = new JsonSerializerSettings(); u = JsonConvert.DeserializeObject<Usuario>(resp.Content); FinalizaML(m.AccessToken, m.RefreshToken); return u; } else { throw new Exception(String.Format("Usuario não encontrado. {0} codigo: {1} {0}", Environment.NewLine)); } } catch (Exception ex) { throw new Exception(String.Format("Erro na rotina RetornaUsuario. {0} codigo: {1} {0}", Environment.NewLine), ex); } }
private void ConfigureHttp(IRestRequest request, IHttp http) { http.Encoding = Encoding; http.AlwaysMultipartFormData = request.AlwaysMultipartFormData; http.UseDefaultCredentials = request.UseDefaultCredentials; http.ResponseWriter = request.ResponseWriter; http.CookieContainer = CookieContainer; using (IEnumerator <Parameter> enumerator = DefaultParameters.GetEnumerator()) { Parameter p3; while (enumerator.MoveNext()) { p3 = enumerator.Current; if (!request.Parameters.Any((Parameter p2) => p2.Name == p3.Name && p2.Type == p3.Type)) { request.AddParameter(p3); } } } if (request.Parameters.All((Parameter p2) => p2.Name.ToLowerInvariant() != "accept")) { string value = string.Join(", ", AcceptTypes.ToArray()); request.AddParameter("Accept", value, ParameterType.HttpHeader); } http.Url = BuildUri(request); http.PreAuthenticate = PreAuthenticate; string text = UserAgent ?? http.UserAgent; http.UserAgent = (text.HasValue() ? text : ("RestSharp/" + version)); int num = (request.Timeout > 0) ? request.Timeout : Timeout; if (num > 0) { http.Timeout = num; } int num2 = (request.ReadWriteTimeout > 0) ? request.ReadWriteTimeout : ReadWriteTimeout; if (num2 > 0) { http.ReadWriteTimeout = num2; } http.FollowRedirects = FollowRedirects; if (ClientCertificates != null) { http.ClientCertificates = ClientCertificates; } http.MaxRedirects = MaxRedirects; if (request.Credentials != null) { http.Credentials = request.Credentials; } IEnumerable <HttpHeader> enumerable = from p in request.Parameters where p.Type == ParameterType.HttpHeader select new HttpHeader { Name = p.Name, Value = Convert.ToString(p.Value) }; foreach (HttpHeader item in enumerable) { http.Headers.Add(item); } IEnumerable <HttpCookie> enumerable2 = from p in request.Parameters where p.Type == ParameterType.Cookie select new HttpCookie { Name = p.Name, Value = Convert.ToString(p.Value) }; foreach (HttpCookie item2 in enumerable2) { http.Cookies.Add(item2); } IEnumerable <HttpParameter> enumerable3 = from p in request.Parameters where p.Type == ParameterType.GetOrPost && p.Value != null select new HttpParameter { Name = p.Name, Value = Convert.ToString(p.Value) }; foreach (HttpParameter item3 in enumerable3) { http.Parameters.Add(item3); } foreach (FileParameter file in request.Files) { http.Files.Add(new HttpFile { Name = file.Name, ContentType = file.ContentType, Writer = file.Writer, FileName = file.FileName, ContentLength = file.ContentLength }); } Parameter parameter = (from p in request.Parameters where p.Type == ParameterType.RequestBody select p).FirstOrDefault(); if (parameter != null) { http.RequestContentType = parameter.Name; if (!http.Files.Any()) { object value2 = parameter.Value; if (value2 is byte[]) { http.RequestBodyBytes = (byte[])value2; } else { http.RequestBody = Convert.ToString(parameter.Value); } } else { http.Parameters.Add(new HttpParameter { Name = parameter.Name, Value = Convert.ToString(parameter.Value) }); } } ConfigureProxy(http); }
static IRestResponse Request(string pathRequest, DataFormat df, Method method, Parameter[] parameters = null, string customServer = null, object body = null) { // save to storage string storageKey = string.Empty; if (parameters != null) foreach (var p in parameters) storageKey = pathRequest.Replace ("{" + p.Name + "}", p.Value.ToString ()); else storageKey = pathRequest; if (!CheckForInternetConnection ()) { RestResponse pseudoResp = new RestResponse (); pseudoResp.Content = Storage.Get (storageKey); return pseudoResp; } RestRequest request; if (customServer != null) { webClient = new RestClient (customServer); request = new RestRequest (method); } else { webClient = new RestClient (serverApi); request = new RestRequest (pathRequest, method); } request.RequestFormat = df; // json и пр if (parameters != null) foreach (var param in parameters) request.AddParameter (param.Name, param.Value, param.Type); if (body != null) request.AddBody (body); // добавляем если есть авторизационный токен //if (!EmptyAccToken()) // request.AddParameter("Authorization", GetAccessToken(), ParameterType.HttpHeader); // запускаем и получаем ответ var response = webClient.Execute (request); if(pathRequest!=null) Storage.Put (storageKey,response.Content); return response; }
/// <summary> /// Add the parameter to the request /// </summary> /// <param name="p">Parameter to add</param> /// <returns></returns> public IRestRequest AddParameter(Parameter p) { this.Parameters.Add(p); return this; }
public virtual IEnumerable<Inbound> GetUpdatedAfter(DateTime date) { var parameters = new Parameter { Name = "updated_at__gt", Value = date.ToString("O"), Type = ParameterType.QueryString }; return this.Get<IEnumerable<Inbound>>(Resource, parameters); }
/// <summary> /// Called just before issuing request to third-party service when everything is ready. /// Allows to add extra parameters to request or do any other needed preparations. /// </summary> protected override void BeforeGetUserInfo(BeforeAfterRequestArgs args) { // workaround for current design, oauth_token is always present in URL, so we need emulate it for correct request signing var accessToken = new Parameter { Name = "access_token", Value = AccessToken }; args.Request.AddParameter(accessToken); }
public string Serialize(RestSharp.Parameter bodyParameter) => JsonConvert.SerializeObject(bodyParameter.Value);
public Order RetornaOrder(string codigo) { try { Order q; Parameter at = new Parameter(); List<Parameter> param = new List<Parameter>(); //Alimentando parametros at.Name = "access_token"; at.Value = m.AccessToken; //Adicionando na lista param.Add(at); RestResponse resp = (RestResponse)m.Get(codigo, param); if (resp.StatusCode == System.Net.HttpStatusCode.OK) { var a = new JsonSerializerSettings(); q = JsonConvert.DeserializeObject<Order>(resp.Content); FinalizaML(m.AccessToken, m.RefreshToken); return q; } else { throw new Exception(String.Format("Ordem não encontrada. {0} codigo: {1} {0}",Environment.NewLine, codigo)); } } catch (Exception ex) { throw new Exception(String.Format("Erro na rotina RetornaOrder: {0} codigo: {1} {0}", Environment.NewLine, codigo), ex); } }
private IEnumerable<Parameter> CreateParameters(SearchCriteria criteria, int page) { var result = new List<Parameter>(); if (criteria == null) return result; if (criteria.Translation || criteria.Interpreting || criteria.Potential) { var value = new StringBuilder(); if (criteria.Translation) { value.Append(value.Length == 0 ? "translation" : ",translation"); } if (criteria.Interpreting) { value.Append(value.Length == 0 ? "interpret" : ",interpret"); } if (criteria.Potential) { value.Append(value.Length == 0 ? "potential" : ",potential"); } var typeParameter = new Parameter { Type = ParameterType.QueryString, Value = value.ToString(), Name = "type" }; result.Add(typeParameter); } if (criteria.LanguagePair.Source.LanguageCode != "all" && criteria.LanguagePair.Target.LanguageCode != "all") { var languagePairParameter = new Parameter { Type = ParameterType.QueryString, Value = criteria.LanguagePair.Serialize(), Name = "language_pairs" }; result.Add(languagePairParameter); } if (criteria.Discipline.DiscSpecId != 0) { var disciplineParameter = new Parameter { Type = ParameterType.QueryString, Value = criteria.Discipline.DiscSpecId, Name = "disc_spec_ids" }; result.Add(disciplineParameter); } if (!string.IsNullOrEmpty(criteria.SearchTerm)) { var searchParameter = new Parameter { Type = ParameterType.QueryString, Value = criteria.SearchTerm, Name = "q" }; result.Add(searchParameter); } var pageParameter = new Parameter { Type = ParameterType.QueryString, Value = page, Name = "page" }; result.Add(pageParameter); return result; }
/// <summary> /// Add the parameter to the request /// </summary> /// <param name="p">Parameter to add</param> /// <returns></returns> public IRestRequest AddParameter (Parameter p) { Parameters.Add(p); return this; }
public Item RetornaItem(string codigo) { try { Item q; Parameter at = new Parameter(); //Parameter ItemID = new Parameter(); List<Parameter> param = new List<Parameter>(); //Alimentando parametros at.Name = "access_token"; at.Value = m.AccessToken; //ItemID.Name = "item_id"; //ItemID.Value = codigo; //Adicionando na lista //param.Add(ItemID); param.Add(at); RestResponse resp = (RestResponse)m.Get("items/" + codigo, param); if (resp.StatusCode == System.Net.HttpStatusCode.OK) { var a = new JsonSerializerSettings(); q = JsonConvert.DeserializeObject<Item>(resp.Content); FinalizaML(m.AccessToken, m.RefreshToken); return q; } else { throw new Exception(String.Format("Item não encontrado. {0} codigo: {1} {0} resp.Content: {2} {0} ", Environment.NewLine, codigo, resp.Content)); } } catch (Exception ex) { throw new Exception(String.Format("Erro na rotina RetornaItem: {0} codigo: {1} {0}", Environment.NewLine, codigo), ex); } }
private static string EncodeParameter(Parameter parameter) { return(parameter.Value == null ? string.Concat(parameter.Name.UrlEncode(), "=") : string.Concat(parameter.Name.UrlEncode(), "=", parameter.Value.ToString().UrlEncode())); }
public void DeleteWithRefreshToken() { Meli.ApiUrl = "http://localhost:3000"; Meli m = new Meli (123456, "client secret", "expired token", "valid refresh token"); var p = new Parameter (); p.Name = "access_token"; p.Value = m.AccessToken; var ps = new List<Parameter> (); ps.Add (p); var r = m.Delete ("/items/123", ps); Assert.AreEqual (HttpStatusCode.OK, r.StatusCode); }