Esempio n. 1
0
 public async Task Invoke(HttpContext context)
 {
     if (IsRequestMatch(context))
     {
         try
         {
             byte[] responseBytes = _executor.HandleRequest(context.Request.Body);
             context.Response.StatusCode  = StatusCodes.Status200OK;
             context.Response.ContentType = "text/html;charset=UTF-8";
             await context.Response.Body.WriteAsync(responseBytes, 0, responseBytes.Length);
         }
         catch (Exception ex)
         {
             _logger.LogError(ex, "XxlJobExecutorMiddleware handle request error.");
             throw;
         }
     }
     else
     {
         await _next(context);
     }
 }
        protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            try
            {
                var    inputStream   = request.Content.ReadAsStreamAsync().Result;
                byte[] responseBytes = _executor.HandleRequest(inputStream);

                var response = request.CreateResponse(HttpStatusCode.OK);
                response.Content = new ByteArrayContent(responseBytes);
                response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html")
                {
                    CharSet = "UTF-8"
                };
                return(Task.FromResult(response));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "XxlJobExecutorHandler handle request error.");
                var response = request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex);
                return(Task.FromResult(response));
            }
        }