public Service1(IHeaders headers, IUrlParameters urlParameters, IRequestUri requestUri, OperationContext operationContext, WebOperationContext webOperationContext) { _Headers = headers; _UrlParameters = urlParameters; _RequestUri = requestUri; _OperationContext = operationContext; _WebOperationContext = webOperationContext; }
public string AppendParametersToPath(string path, IUrlParameters urlParameters) { if (urlParameters == null) { return(path); } var parameters = new Dictionary <string, string>(); if (!urlParameters.Version.IsNullOrEmpty()) { parameters.Add("version", urlParameters.Version); } if (!urlParameters.Routing.IsNullOrEmpty()) { parameters.Add("routing", urlParameters.Routing); } if (!urlParameters.Parent.IsNullOrEmpty()) { parameters.Add("parent", urlParameters.Parent); } if (urlParameters.OpType != OpType.None) // default not set { parameters.Add("op_type", urlParameters.OpType.ToString().ToLower()); } if (urlParameters.Replication != Replication.Sync) //sync == default { parameters.Add("replication", urlParameters.Replication.ToString().ToLower()); } if (urlParameters.Consistency != Consistency.Quorum) //quorum == default { parameters.Add("consistency", urlParameters.Consistency.ToString().ToLower()); } if (urlParameters.Refresh) //false == default { parameters.Add("refresh", "true"); } if (urlParameters is IndexParameters) { this.AppendIndexParameters(parameters, (IndexParameters)urlParameters); } path = AppendEscapedQueryString(parameters, path); return(path); }
public string AppendParametersToPath(string path, IUrlParameters urlParameters) { if (urlParameters == null) { return(path); } var parameters = new List <string>(); if (!urlParameters.Version.IsNullOrEmpty()) { parameters.Add("version=" + urlParameters.Version); } if (!urlParameters.Routing.IsNullOrEmpty()) { parameters.Add("routing=" + urlParameters.Routing); } if (!urlParameters.Parent.IsNullOrEmpty()) { parameters.Add("parent=" + urlParameters.Parent); } if (urlParameters.OpType != OpType.None) // default not set { parameters.Add("op_type=" + urlParameters.OpType.ToString().ToLower()); } if (urlParameters.Replication != Replication.Sync) //sync == default { parameters.Add("replication=" + urlParameters.Replication.ToString().ToLower()); } if (urlParameters.Consistency != Consistency.Quorum) //quorum == default { parameters.Add("consistency=" + urlParameters.Consistency.ToString().ToLower()); } if (urlParameters.Refresh) //false == default { parameters.Add("refresh=true"); } if (urlParameters is IndexParameters) { this.AppendIndexParameters(parameters, (IndexParameters)urlParameters); } path += "?" + string.Join("&", parameters.ToArray()); return(path); }
/// <summary> /// Gets a list of T objects from the server. /// </summary> /// <param name="restClientAuthenticator"></param> /// <param name="controllerName"></param> /// <param name="parameterList"></param> /// <returns></returns> public static ListModel <T> Search(IServerAuthentication restClientAuthenticator, string controllerName, IUrlParameters criteria) { var baseAddress = restClientAuthenticator.GetBaseAddress(); var authorizationToken = restClientAuthenticator.GetToken(); var tries = 0; var keepTrying = true; using (var restClient = new HttpClient()) { restClient.BaseAddress = new Uri(baseAddress); restClient.DefaultRequestHeaders.Accept.Clear(); restClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); while (keepTrying) { restClient.DefaultRequestHeaders.Add("Authorization", authorizationToken); HttpResponseMessage response = restClient.GetAsync(string.Format(ApiClientGenericObjectResources.SearchRequestUri, controllerName, "/search?", criteria.GetAsUrlParameters())).Result; if (response.StatusCode == HttpStatusCode.Unauthorized) { authorizationToken = restClientAuthenticator.GetToken(true); tries++; keepTrying = tries < 4; } else { keepTrying = false; if (response.IsSuccessStatusCode) { ListModel <T> genericList = response.Content.ReadAsAsync <ListModel <T> >().Result; return(genericList); } else { throw new ApplicationException(string.Format(ApiClientGenericObjectResources.UnsuccessfulResponseMessage, response.StatusCode.ToString())); } } } throw new ApplicationException(string.Format(ApiClientGenericObjectResources.UnsuccessfulResponseMessage, HttpStatusCode.Unauthorized.ToString())); } }
protected Task <TResult> PostAsync <TResult>(IUrlParameters parameters, object content, CancellationToken ct = default) { return(PostAsync <TResult>(CreateRequestUrl(parameters as IUrlRouteParameters, parameters as IUrlQueryParameters), content, ct)); }
protected Task <TResult> GetAsync <TResult>(IUrlParameters parameters, CancellationToken ct) { return(GetAsync <TResult>(CreateRequestUrl(parameters as IUrlRouteParameters, parameters as IUrlQueryParameters), ct)); }