public RestsharpServiceTest() { fixture = new Fixture(); token = fixture.Create <string>(); pessoas = fixture.CreateMany <Pessoa>().ToList(); pessoa = fixture.Create <Pessoa>(); responsePessoas = new RestResponse <List <Pessoa> > { Data = pessoas }; responsePessoa = new RestResponse <Pessoa> { Data = pessoa }; restClient = Substitute.For <IRestClient>(); restClient.ExecuteAsGet <List <Pessoa> >(Arg.Any <RestRequest>(), Arg.Any <string>()).Returns(responsePessoas); restClient.ExecuteAsGet <Pessoa>(Arg.Any <RestRequest>(), Arg.Any <string>()).Returns(responsePessoa); restClient.ExecuteGetAsync <List <Pessoa> >(Arg.Any <RestRequest>()).Returns(responsePessoas); restClient.ExecuteAsPost <Pessoa>(Arg.Any <RestRequest>(), Arg.Any <string>()).Returns(responsePessoa); service = new RestsharpService(restClient, token); }
public IRestResponse ExecuteAsGet(IRestRequest request, string httpMethod) { InjectZipkinTraces(request); using (GetClientSendTrace(request)) { return(_innerClient.ExecuteAsGet(request, httpMethod)); } }
public IRestResponse ExecuteAsGet(IRestRequest request, string httpMethod) { var response = _restClient.ExecuteAsGet(request, httpMethod); _logger.LogTrace($"Request: {request.Method} {request.Resource} {request.Body?.Value}. " + $"Response: {response.StatusCode} {response.Content}.".Truncate(500)); return(response); }
public IRestResponse ExecuteAsGet(IRestRequest request, string httpMethod) { if (null == request) { return(null); } if (null == _pollyRetPolicy) { return(null); } return(_pollyRetPolicy.Execute(() => _innerService.ExecuteAsGet(request, httpMethod))); }
public IRestResponse ExecuteAsGet(IRestRequest request, string httpMethod) { if (null == _pollyRetPolicyGeneric) { throw new AggregateException(nameof(_pollyRetPolicyGeneric) + " is null"); } return(_pollyRetPolicyGeneric.Execute(() => { if (null == request) { throw new AggregateException(nameof(request) + " is null"); } return (TResult)_innerService.ExecuteAsGet(request, httpMethod); })); }
public T Execute <T>(RestRequest request) where T : new() { IRestResponse <T> response; // Explicitly check whether to execute as GET- or POST-like request // RestSharp treats DELETE by default as a GET-like request, however we // need it as a POST-like request var method = Enum.GetName(typeof(Method), request.Method); switch (request.Method) { case Method.POST: case Method.PUT: case Method.PATCH: case Method.DELETE: response = _client.ExecuteAsPost <T>(request, method); break; default: response = _client.ExecuteAsGet <T>(request, method); break; } if (response.ResponseStatus != ResponseStatus.Completed) { string message = String.Format("Error retrieving response: {0}. {1}", response.ResponseStatus.ToString(), response.ErrorMessage); throw new RequestFailedException(message, "RequestFailed", response.ErrorException); } // if we identify with a cookie, update the sessionId if (_authMethod == DataspaceRequest.AuthMethod.Cookie) { foreach (var cookie in response.Cookies) { if (cookie.Name == DataspaceRequest.SessionIdCookieName) { _sessionId = cookie.Value; break; } } } return(response.Data); }
public List <List <T> > GetFromStoredProc <T>(string procedureName, Dictionary <string, object> parameters) { var url = $"/procs/{procedureName}/{FormatStoredProcParameters(parameters)}"; var request = new RestRequest(url, Method.GET); AddAuthorization(request); var response = _ministryPlatformRestClient.ExecuteAsGet(request, "GET"); _authToken.Value = null; response.CheckForErrors($"Error executing procedure {procedureName}", true); var content = JsonConvert.DeserializeObject <List <List <T> > >(response.Content); if (content == null || !content.Any()) { return(default(List <List <T> >)); } return(content); }
public IRestResponse ExecuteAsGet(IRestRequest request, string httpMethod) { return(_innerClient.ExecuteAsGet(request, httpMethod)); }
public static string GetPayload(IRestClient client, Guid payloadID, int threadID) { locker.Wait(); if (!directoryLocker.ContainsKey(payloadID)) { directoryLocker.Add(payloadID, new SemaphoreSlim(1)); } if (!directoryCount.ContainsKey(payloadID)) { directoryCount.Add(payloadID, 1); } else { directoryCount[payloadID]++; } SemaphoreSlim payloadLocker = directoryLocker[payloadID]; locker.Release(); payloadLocker.Wait(); string tempFile = getPath(payloadID); string tempDirectory = getDirectory(payloadID, threadID); try { if (File.Exists(tempFile)) { payloadLocker.Release(); if (!Directory.Exists(tempDirectory)) { Directory.CreateDirectory(tempDirectory); ZipFile.ExtractToDirectory(tempFile, tempDirectory); } return(tempDirectory); } var request = new RestRequest($"payload/{payloadID}"); var response = client.ExecuteAsGet(request, "GET"); if (response.StatusCode != System.Net.HttpStatusCode.OK) { payloadLocker.Release(); return(null); } response.RawBytes.SaveAs(tempFile); payloadLocker.Release(); Directory.CreateDirectory(tempDirectory); ZipFile.ExtractToDirectory(tempFile, tempDirectory); return(tempDirectory); } catch { if (File.Exists(tempFile)) { File.Delete(tempFile); } return(null); } }
public IEnumerable <Pessoa> Get() { var response = restClient.ExecuteAsGet <List <Pessoa> >(new RestRequest("pessoa"), "GET"); return(response.Data); }