Package org.eclipse.jetty.server.handler

Examples of org.eclipse.jetty.server.handler.HandlerWrapper


        server.addConnector(localConnector);

        // create a handler chain to serve requests
        webApps = new ContextHandlerCollection();
        webApps.setHandlers(new Handler[0]);
        HandlerWrapper interceptor = new DashboardHttpRequestInterceptor(
                startupTimestamp);
        interceptor.setHandler(webApps);
        server.setHandler(interceptor);

        // start the server
        try {
            server.start();
View Full Code Here


    {
        Server server = new Server(8080);

        // create the handlers
        Handler param = new ParamHandler();
        HandlerWrapper wrapper = new WelcomeWrapHandler();
        Handler hello = new HelloHandler();
        Handler dft = new DefaultHandler();
        RequestLogHandler requestLog = new RequestLogHandler();

        // configure request logging
        File requestLogFile = File.createTempFile("demo", "log");
        NCSARequestLog ncsaLog = new NCSARequestLog(
                requestLogFile.getAbsolutePath());
        requestLog.setRequestLog(ncsaLog);

        // create the handler collections
        HandlerCollection handlers = new HandlerCollection();
        HandlerList list = new HandlerList();

        // link them all together
        wrapper.setHandler(hello);
        list.setHandlers(new Handler[] { param, wrapper, dft });
        handlers.setHandlers(new Handler[] { list, requestLog });

        // Handler tree looks like the following
        // <pre>
View Full Code Here

        _server.setConnectors(new Connector[]{});
    }

    protected void configureServer(Handler handler) throws Exception
    {
        HandlerWrapper current = (HandlerWrapper)_server.getHandler();
        current.stop();
        current.setHandler(handler);
        current.start();
    }
View Full Code Here

        _connector = new ServerConnector(_server);
        _statistics = new ConnectorStatistics();
        _connector.addBean(_statistics);
        _server.addConnector(_connector);

        HandlerWrapper wrapper = new HandlerWrapper()
        {
            @Override
            public void handle(String path, Request request, HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws IOException, ServletException
            {
                try
                {
                    _connect.await();
                }
                catch (Exception ex)
                {
                    LOG.debug(ex);
                }
                finally
                {
                    super.handle(path, request, httpRequest, httpResponse);
                }
            }
        };
        _server.setHandler(wrapper);

        Handler handler = new AbstractHandler()
        {
            @Override
            public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
                throws IOException, ServletException
            {
                try{Thread.sleep(1);} catch(Exception e){}
                baseRequest.setHandled(true);
                PrintWriter out = response.getWriter();
                out.write("Server response\n");
                out.close();

                response.setStatus(HttpServletResponse.SC_OK);
            }
        };
        wrapper.setHandler(handler);

        _server.start();
    }
View Full Code Here

    protected void startServer(ServerConnector connector) throws Exception
    {
        _connector = connector;
        _connector.getConnectionFactory(HttpConnectionFactory.class).getHttpConfiguration().setSendDateHeader(false);
        _server.addConnector(_connector);
        _server.setHandler(new HandlerWrapper());
        _server.start();
        _serverURI = _server.getURI();
    }
View Full Code Here

    @Test
    public void testHandlerBeforeServletHandler() throws Exception
    {
        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
       
        HandlerWrapper extra = new HandlerWrapper();
       
        context.getSessionHandler().insertHandler(extra);
       
        context.addServlet(TestServlet.class,"/test");
        context.setContextPath("/");
View Full Code Here

    }
   
    /* ------------------------------------------------------------ */
    private void relinkHandlers()
    {
        HandlerWrapper handler=this;
       
        // link session handler
        if (getSessionHandler()!=null)
        {
           
            while (!(handler.getHandler() instanceof SessionHandler) &&
                   !(handler.getHandler() instanceof SecurityHandler) &&
                   !(handler.getHandler() instanceof GzipHandler) &&
                   !(handler.getHandler() instanceof ServletHandler) &&
                   handler.getHandler() instanceof HandlerWrapper)
                handler=(HandlerWrapper)handler.getHandler();
           
            if (handler.getHandler()!=_sessionHandler)
            {
                if (handler== this)
                    super.setHandler(_sessionHandler);
                else
                    handler.setHandler(_sessionHandler);
            }
            handler=_sessionHandler;
        }
       
        // link security handler
        if (getSecurityHandler()!=null)
        {
            while (!(handler.getHandler() instanceof SecurityHandler) &&
                   !(handler.getHandler() instanceof GzipHandler) &&
                   !(handler.getHandler() instanceof ServletHandler) &&
                   handler.getHandler() instanceof HandlerWrapper)
                handler=(HandlerWrapper)handler.getHandler();

            if (handler.getHandler()!=_securityHandler)
            {
                if (handler== this)
                    super.setHandler(_securityHandler);
                else
                    handler.setHandler(_securityHandler);
            }
            handler=_securityHandler;
        }

        // link gzip handler
        if (getGzipHandler()!=null)
        {
            while (!(handler.getHandler() instanceof GzipHandler) &&
                   !(handler.getHandler() instanceof ServletHandler) &&
                   handler.getHandler() instanceof HandlerWrapper)
                handler=(HandlerWrapper)handler.getHandler();

            if (handler.getHandler()!=_gzipHandler)
            {
                if (handler== this)
                    super.setHandler(_gzipHandler);
                else
                    handler.setHandler(_gzipHandler);
            }
            handler=_gzipHandler;
        }

       
        // link servlet handler
        if (getServletHandler()!=null)
        {
            while (!(handler.getHandler() instanceof ServletHandler) &&
                   handler.getHandler() instanceof HandlerWrapper)
                handler=(HandlerWrapper)handler.getHandler();

            if (handler.getHandler()!=_servletHandler)
            {
                if (handler== this)
                    super.setHandler(_servletHandler);
                else
                    handler.setHandler(_servletHandler);
            }
            handler=_servletHandler;
        }
       
    }
View Full Code Here

        super.callContextDestroyed(l, e);
    }

    private boolean replaceHandler(Handler handler,Handler replace)
    {
        HandlerWrapper wrapper=this;
        while(true)
        {
            if (wrapper.getHandler()==handler)
            {
                wrapper.setHandler(replace);
                return true;
            }
           
            if (!(wrapper.getHandler() instanceof HandlerWrapper))
                return false;
            wrapper = (HandlerWrapper)wrapper.getHandler();
        }
    }
View Full Code Here

     * Insert a HandlerWrapper before the first Session,Security or ServletHandler
     * but after any other HandlerWrappers.
     */
    public void insertHandler(HandlerWrapper handler)
    {
        HandlerWrapper h=this;
       
        // Skip any injected handlers
        while (h.getHandler() instanceof HandlerWrapper)
        {
            HandlerWrapper wrapper = (HandlerWrapper)h.getHandler();
            if (wrapper instanceof SessionHandler ||
                wrapper instanceof SecurityHandler ||
                wrapper instanceof ServletHandler)
                break;
            h=wrapper;
View Full Code Here

        // Make sure the server timeout on a TCP connection is large
        connector.setIdleTimeout(50 * Config.MAX_NETWORK_DELAY);
        connector.setPort(port);
        server.addConnector(connector);

        HandlerWrapper handler = server;

        RequestLatencyHandler requestLatencyHandler = null;
        if (reqs)
        {
            requestLatencyHandler = new RequestLatencyHandler();
            handler.setHandler(requestLatencyHandler);
            handler = requestLatencyHandler;
        }

        if (qos)
        {
            RequestQoSHandler requestQoSHandler = new RequestQoSHandler();
            handler.setHandler(requestQoSHandler);
            handler = requestQoSHandler;
        }

        StatisticsHandler statisticsHandler = null;
        if (stats)
        {
            statisticsHandler = new StatisticsHandler();
            handler.setHandler(statisticsHandler);
            handler = statisticsHandler;
        }

        // Add more handlers if needed

View Full Code Here

TOP

Related Classes of org.eclipse.jetty.server.handler.HandlerWrapper

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.