1 // ======================================================================== 2 // Copyright (c) 2004-2009 Mort Bay Consulting Pty. Ltd. 3 // ------------------------------------------------------------------------ 4 // All rights reserved. This program and the accompanying materials 5 // are made available under the terms of the Eclipse Public License v1.0 6 // and Apache License v2.0 which accompanies this distribution. 7 // The Eclipse Public License is available at 8 // http://www.eclipse.org/legal/epl-v10.html 9 // The Apache License v2.0 is available at 10 // http://www.opensource.org/licenses/apache2.0.php 11 // You may elect to redistribute this code under either of these licenses. 12 // ======================================================================== 13 14 package org.eclipse.jetty.server; 15 16 import java.io.IOException; 17 18 import javax.servlet.ServletException; 19 import javax.servlet.http.HttpServletRequest; 20 import javax.servlet.http.HttpServletResponse; 21 22 import org.eclipse.jetty.util.component.LifeCycle; 23 24 25 public interface Handler extends LifeCycle 26 { 27 /* ------------------------------------------------------------ */ 28 /** Handle a request. 29 * @param target The target of the request - either a URI or a name. 30 * @param baseRequest TODO 31 * @param request The request either as the {@link Request} 32 * object or a wrapper of that request. The {@link HttpConnection#getCurrentConnection()} 33 * method can be used access the Request object if required. 34 * @param response The response as the {@link Response} 35 * object or a wrapper of that request. The {@link HttpConnection#getCurrentConnection()} 36 * method can be used access the Response object if required. 37 * @throws IOException 38 * @throws ServletException 39 */ 40 public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) 41 throws IOException, ServletException; 42 43 public void setServer(Server server); 44 public Server getServer(); 45 46 public void destroy(); 47 48 } 49