costin 00/11/02 13:17:41 Modified: src/share/org/apache/tomcat/context ErrorHandler.java Log: Removed ContextManger.getDefaultContext(). The method doesn't work with virtual hosts, and it wasn't used in any other place then ErrorHandler. Any Context that needs the "/" webapps of the "default" host can get it in the addContext() hook, no need to keep it explicitely in core. Revision Changes Path 1.2 +17 -10 jakarta-tomcat/src/share/org/apache/tomcat/context/ErrorHandler.java Index: ErrorHandler.java =================================================================== RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/context/ErrorHandler.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ErrorHandler.java 2000/10/08 01:02:25 1.1 +++ ErrorHandler.java 2000/11/02 21:17:38 1.2 @@ -79,7 +79,8 @@ * @author Costin Manolache */ public final class ErrorHandler extends BaseInterceptor { - + private Context rootContext=null; + public ErrorHandler() { } @@ -91,6 +92,8 @@ public void addContext( ContextManager cm, Context ctx) throws TomcatException { + if( ctx.getHost() == null && ctx.getPath().equals("")) + rootContext = ctx; } /** Add default error handlers @@ -108,11 +111,15 @@ ctx.addErrorPage( "404", "tomcat.notFoundHandler"); } - public int handleError( Request req, Response res, Throwable t ) { ContextManager cm=req.getContextManager(); Context ctx = req.getContext(); - if(ctx==null) ctx=cm.getDefaultContext(); + if(ctx==null) { + // that happens only if the request can't pass contextMap + // hook. The reason for that is a malformed request, or any + // other error. + ctx=rootContext; + } if( t==null ) { handleStatusImpl( cm, ctx, req, res, res.getStatus() ); @@ -264,9 +271,9 @@ Response res1=new Response(); cm.initRequest( req1, res1 ); - req1.setRequestURI( ctx.getPath() + path ); + req1.requestURI().setString( ctx.getPath() + path ); cm.processRequest( req1 ); - return req1.getWrapper(); + return req1.getHandler(); } /** Handle the case of error handler generating an error or special status @@ -311,7 +318,7 @@ getAttribute("javax.servlet.include.request_uri"); if (requestURI == null) { - requestURI = req.getRequestURI(); + requestURI = req.requestURI().toString(); } if( sbNote==0 ) { @@ -396,7 +403,7 @@ // More info - where it happended" buf.append("<h2>") .append(sm.getString("defaulterrorpage.location")) - .append(req.getRequestURI()) + .append(req.requestURI().toString()) .append("</h2>"); buf.append("<b>") @@ -466,7 +473,7 @@ // More info - where it happended" buf.append("<h2>") .append(sm.getString("defaulterrorpage.location")) - .append(req.getRequestURI()) + .append(req.requestURI().toString()) .append("</h2>"); buf.append("<b>") @@ -556,9 +563,9 @@ static String getRequestURL( Request req ) { StringBuffer url = new StringBuffer (); - String scheme = req.getScheme (); + String scheme = req.scheme().toString(); int port = req.getServerPort (); - String urlPath = req.getRequestURI(); + String urlPath = req.requestURI().toString(); url.append (scheme); // http, https url.append ("://"); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]