public async Task UnauthenticatedResponseShouldThrowUnauthenticatedException(
            SampleServerFactory serverFactory,
            Mock <IExceptionService> exceptionService,
            UnauthenticatedException exception)
        {
            exceptionService.Setup(s => s.Execute()).Throws(exception);
            using (var server = serverFactory.With <IExceptionService>(exceptionService.Object).Create())
            {
                var response = await server.HttpClient.GetAsync("/");

                await Assert.ThrowsAsync <UnauthenticatedException>(() => response.HandleErrors());
            }
        }
Exemplo n.º 2
0
        public async Task InvokeAsync(HttpContext context, IDatabaseService databaseService)
        {
            await _next(context);

            if (context.Response.StatusCode == 401 && !context.Response.HasStarted)
            {
                var    e      = new UnauthenticatedException(null);
                var    result = new ResultModel(e.Status, e.Message, e.ApiExceptionData);
                byte[] buffer = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(result, Formatting.None));

                context.Response.ContentType = "application/json";
                // context.Response.ContentLength = buffer.Length;
                await context.Response.Body.WriteAsync(buffer);
            }
        }