Ejemplo n.º 1
0
 /// <summary>
 /// Adds a route to this configuration
 /// </summary>
 /// <returns>The server configuration.</returns>
 /// <param name="route">The expression used to pre-filter requests before invoking the handler.</param>
 /// <param name="handler">The handler function that will execute the operation.</param>
 public ServerConfig AddRoute(string route, HttpHandlerDelegate handler)
 {
     if (handler == null)
     {
         throw new ArgumentNullException(nameof(handler));
     }
     return(AddRoute(route, new Handler.FunctionHandler(handler)));
 }
Ejemplo n.º 2
0
        public DynamicResourceHandler(HttpHandlerDelegate method, HttpDynamicResourceAttribute resource)
            : base(resource)
        {
            if (method == null)
            {
                throw new ArgumentNullException(nameof(method));
            }

            this.method = method;
        }
Ejemplo n.º 3
0
        /// <inheritdoc/>
        public TimeSpan Create(string name, out HttpMessageHandler handler)
        {
            var resource = name == HttpHandlerFactory.DefaultResourceId ? null : name;

#pragma warning disable IDE0067 // Dispose objects before losing scope
            var del = new HttpHandlerDelegate(new HttpTunnelClientHandler(this),
#pragma warning restore IDE0067 // Dispose objects before losing scope
                                              resource, _handlers.Where(h => h.IsFor?.Invoke(resource) ?? true),
                                              null, _logger);
            handler = del;
            return(del.MaxLifetime);
        }
Ejemplo n.º 4
0
        private HttpHandlerDelegate GetHttpHandler(JancyExpressRoutingConfiguration routingConfiguration, JancyExpressScopedRoutingConfiguration scopedRoutingConfiguration, JancyExpressGlobalRoutingConfiguration globalRoutingConfiguration, IServiceProvider serviceProvider, HttpRequest request, HttpResponse response, RouteData routeData)
        {
            HttpHandlerDelegate httpHandler = () =>
            {
                var handler = serviceProvider.GetService <IHttpHandler>(routingConfiguration.HttpHandlerType);
                return(handler.Handle(request, response, routeData));
            };

            var httpHandlerMiddlewares =
                GetHttpHandlerMiddlewares(routingConfiguration.HttpHandlerMiddlewareTypes, serviceProvider)
                .Concat(GetHttpHandlerMiddlewares(scopedRoutingConfiguration.HttpHandlerMiddlewareTypes, serviceProvider))
                .Concat(GetHttpHandlerMiddlewares(globalRoutingConfiguration.HttpHandlerMiddlewareTypes, serviceProvider));

            foreach (var middleware in httpHandlerMiddlewares)
            {
                var previous = httpHandler;
                httpHandler = () => middleware.Handle(request, response, routeData, previous);
            }

            return(httpHandler);
        }
Ejemplo n.º 5
0
 public void Get(string path, HttpHandlerDelegate handler)
 {
     _handlers[path] = handler;
 }
Ejemplo n.º 6
0
 public Task Handle(HttpRequest httpRequest, HttpResponse httpResponse, RouteData routeData, HttpHandlerDelegate next) => Task.CompletedTask;
Ejemplo n.º 7
0
 public DynamicResourceHandler(HttpHandlerDelegate method, bool isCached) : base(isCached)
 {
     this.method = method ?? throw new ArgumentNullException(nameof(method));
 }
Ejemplo n.º 8
0
 public WebServer(HttpHandlerDelegate requestHandler)
 {
     this.requestHandler = requestHandler;
 }
Ejemplo n.º 9
0
        public async Task Handle(HttpRequest httpRequest, HttpResponse httpResponse, RouteData routeData, HttpHandlerDelegate next)
        {
            _jancyLogger.LogInfo(await GetRequestLogging(httpRequest), "Request", httpRequest.HttpContext.TraceIdentifier);

            var originalResponseBodyStream = httpResponse.Body;
            var copyResponseBodyStream     = new MemoryStream();

            httpResponse.Body = copyResponseBodyStream;

            await next();

            _jancyLogger.LogInfo(await GetResponseLogging(httpResponse, copyResponseBodyStream, originalResponseBodyStream), "Response", httpResponse.HttpContext.TraceIdentifier);
        }
        public async Task Handle(HttpRequest request, HttpResponse response, RouteData routeData, HttpHandlerDelegate next)
        {
            try
            {
                await next();
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.ToString(), "Exception", request.HttpContext.TraceIdentifier);

                await response.WriteJson((int)HttpStatusCode.InternalServerError, new { ErrorMessage = "An unhandled exception occurred." });
            }
        }
Ejemplo n.º 11
0
 public Task Handle(HttpRequest httpRequest, HttpResponse httpResponse, RouteData routeData, HttpHandlerDelegate next)
 {
     //do some security related stuff on http level
     return(next());
 }
Ejemplo n.º 12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="T:Ceen.Httpd.Handler.FunctionHandler"/> class.
 /// </summary>
 /// <param name="handler">The handler to invoke.</param>
 public FunctionHandler(HttpHandlerDelegate handler)
 {
     m_handler = handler;
 }