protected IActionResult CreateResult()
        {
            var response = _responseFactory.Create();

            if (response.Failure)
            {
                return(BadRequest(response));
            }

            return(Ok(response));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> GetByIdAsync(Guid id)
        {
            if (id == null)
            {
                return(NoContent());
            }

            _logger?.LogInformation($"Método: { nameof(GetByIdAsync) }({{ id:{ id } }}) Retorno: type Guid");

            var serviceResult = await _serviceApplication.GetByIdAsync(id);

            return(Ok(_responseFactory.Create(serviceResult)));
        }
        private Response GetResponseFromBaseDataTransferObject(List <BaseDataTransferObject> listOfBaseDataTransferObject)
        {
            foreach (var baseDataTransferObject in listOfBaseDataTransferObject)
            {
                baseDataTransferObject.Validate();
                _notificationContext.AddNotifications(baseDataTransferObject.Notifications);
            }

            return(_responseFactory.Create());
        }
 private IResponse GetResponse(IRequest request, IHttpClient client, System.Net.Http.HttpRequestMessage requestMessage)
 {
     try
     {
         return(_responseFactory.Create(request, client.SendAsync(requestMessage).Result));
     }
     catch (Exception ex)
     {
         return(_responseFactory.CreateExceptionResponse(request, ex));
     }
 }
Exemplo n.º 5
0
        public void CreateResponseFromString()
        {
            var stubbedData = "this should be parsed correctly";

            var response     = new EsiResponse <string>(HttpStatusCode.OK, stubbedData);
            var httpResponse = new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(stubbedData)
            };

            // ParseResponse will call ReadAsStringAsync on the underlying HttpContent object.
            // Really this should be mocked but as we are controlling the content, I am putting trust in System.Net.Http.
            var result = _responseFactory.Create <string>(httpResponse);

            Assert.IsTrue(result.Success);
            Assert.IsNull(result.Data);
            Assert.IsNull(result.Error);
            Assert.AreEqual(result.StatusCode, result.StatusCode);
            Assert.AreEqual(response.Message, result.Message);
        }
Exemplo n.º 6
0
        public async Task <IResponse <T> > Send <T>(IRequest request, CancellationToken token = default)
        {
            if (token == null)
            {
                token = DefaultCancellationTokenSource().Token;
            }
            using (HttpRequestMessage requestMessage = await request.MessageBuilder.Build())
            {
                HttpResponseMessage responseMessage = await HttpClientBuilder.HttpClient.SendAsync(requestMessage, token);

                IResponseFactory responseFactory = request.MessageBuilder.CreateResponseFactory();
                return(await responseFactory.Create <T>(responseMessage));
            }
        }
Exemplo n.º 7
0
        private ICloudFilesResponse commonSubmit(IAddToWebRequest requesttype, Func <ICloudFilesRequest> requeststrategy, string authtoken)
        {
            var cfrequest = requeststrategy.Invoke();

            //only way I've figured out how to make auth header logic conditional, this is a smell and in need of a better pattern
            if (!String.IsNullOrEmpty(authtoken))
            {
                AddAuthHeaderToRequest(cfrequest, authtoken);
            }

            requesttype.Apply(cfrequest);

            var response = _responsefactory.Create(cfrequest);

            return(response);
        }
Exemplo n.º 8
0
        public async Task Invoke(HttpContext httpContext, IResponseFactory responseFactory)
        {
            try
            {
                await this._next(httpContext);
            }
            catch (Exception exception)
            {
                this._logger.LogError(exception, exception.Message);

                var(statusCode, responseMessage) = this.GetResponseValuesFromException(exception);

                httpContext.Response.ContentType = "application/json";
                httpContext.Response.StatusCode  = statusCode;

                var response = responseFactory.Create(message: responseMessage);
                await httpContext.Response.WriteAsync(JsonSerializer.Serialize(response));
            }
        }