Ejemplo n.º 1
0
        public void Constructor_CreateInstance_ShouldBe_NotNull()
        {
            var obj = new ApiNotFoundResponse("error");

            Assert.NotNull(obj);
            Assert.Equal(404, obj.StatusCode);
        }
Ejemplo n.º 2
0
        public override void OnResultExecuting(ResultExecutingContext context)
        {
            var url = $"{context.HttpContext.Request.Scheme}://{context.HttpContext.Request.Host}{context.HttpContext.Request.Path}{context.HttpContext.Request.QueryString}";

            switch (context.Result)
            {
            case OkObjectResult okObj:
                var apiOkObjResult = new ApiOkResponse(okObj.Value, url);
                context.Result = new JsonResult(apiOkObjResult)
                {
                    StatusCode = apiOkObjResult.StatusCode
                };
                break;

            case OkResult:
                var apiOkResult = new ApiOkResponse(null, url);
                context.Result = new JsonResult(apiOkResult)
                {
                    StatusCode = apiOkResult.StatusCode
                };
                break;

            case ContentResult contentResult:
                var apicontentResult = new ApiOkResponse(contentResult.Content, url);
                context.Result = new JsonResult(apicontentResult)
                {
                    StatusCode = apicontentResult.StatusCode
                };
                break;

            case ObjectResult objResult:

                switch (objResult.StatusCode)
                {
                case 400:
                    var apiBadRequestResult = new ApiBadRequestResponse(url, GetInformationDatas(objResult));
                    context.Result = new JsonResult(apiBadRequestResult)
                    {
                        StatusCode = apiBadRequestResult.StatusCode
                    };
                    break;

                case 404:
                    var apiNotFoundResult = new ApiNotFoundResponse(url, GetInformationDatas(objResult));
                    context.Result = new JsonResult(apiNotFoundResult)
                    {
                        StatusCode = apiNotFoundResult.StatusCode
                    };
                    break;

                case 415:
                    var apiUnSupportResult = new ApiUnSupportResponse(url);
                    context.Result = new JsonResult(apiUnSupportResult)
                    {
                        StatusCode = apiUnSupportResult.StatusCode
                    };
                    break;

                case null:
                    if (objResult.Value is not ApiResponse)
                    {
                        var apiObjResult = new ApiOkResponse(objResult.Value, url);
                        context.Result = new JsonResult(apiObjResult)
                        {
                            StatusCode = apiObjResult.StatusCode
                        };
                    }
                    break;
                }
                break;
            }
            base.OnResultExecuting(context);
        }