public async Task <IActionResult> QueueMailAsync([FromBody] MercuryRequest <ExpandoObject> request, CancellationToken token) { var sendResult = await mediator.Send(new QueueMailRequest(request), token).ConfigureAwait(false); if (sendResult.IsFailed) { return(BadRequest(MercuryResult.BadRequestResult(sendResult))); } return(Accepted(MercuryResult.AcceptedResult())); }
public async Task InvokeAsync(HttpContext context, RequestDelegate next) { try { await next(context).ConfigureAwait(false); } catch (OperationCanceledException) { logger.LogDebug("Request was cancelled"); context.Response.StatusCode = StatusCodes.Status204NoContent; } catch (Exception ex) { logger.LogError(ex, "Unhandled exception occured"); context.Response.StatusCode = StatusCodes.Status500InternalServerError; context.Response.ContentType = MediaTypeNames.Application.Json; await context.Response .WriteAsync(JsonConvert.SerializeObject(MercuryResult.InternalServerErrorResult(), SerializationSettings)) .ConfigureAwait(false); } }
public IActionResult HealthCheck() { return(Ok(MercuryResult.OkResult())); }