Exemplo n.º 1
0
        public async Task Invoke(HttpContext context)
        {
            try
            {
                await _next(context);
            }
            catch (Exception exception)
            {
                var identityServerException = exception as BaseUmaException;
                if (identityServerException == null)
                {
                    identityServerException = new BaseUmaException(UnhandledExceptionCode, exception.Message);
                }

                _options.UmaEventSource.Failure(identityServerException);
                var code    = identityServerException.Code;
                var message = identityServerException.Message;
                var error   = new ErrorResponse();
                PopulateError(error, identityServerException);
                context.Response.StatusCode  = (int)HttpStatusCode.BadRequest;
                context.Response.ContentType = "application/json";
                var serializedError = error.SerializeWithDataContract();
                await context.Response.WriteAsync(serializedError);
            }
        }
Exemplo n.º 2
0
 private static void PopulateError(ErrorResponse errorResponse, BaseUmaException exception)
 {
     errorResponse.Error            = exception.Code;
     errorResponse.ErrorDescription = exception.Message;
 }