cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core DummyRequest.java
jfarcand2003/03/04 18:31:47 Modified:coyote/src/java/org/apache/coyote Request.java coyote/src/java/org/apache/coyote/tomcat5 CoyoteRequest.java http11/src/java/org/apache/coyote/http11 Http11Processor.java catalina/src/share/org/apache/catalina/connector RequestFacade.java catalina/src/share/org/apache/catalina/core DummyRequest.java Log: Servlet 2.4 new features: === Add the following methods in ServletRequest, SRV.14.2.16.1. public int getRemotePort() Returns the Internet Protocol (IP) source port of the client or last proxy that sent the request. public java.lang.String getLocalName() Returns the host name of the Internet Protocol (IP) interface on which the request was received. public java.lang.String getLocalAddr() Returns the Internet Protocol (IP) address of the interface on which the request was received. public int getLocalPort() Returns the Internet Protocol (IP) port number of the interface on which the request was received. === Please review the patch and let me know if it brokes other Connectors. Specifically, is ActionCode.ACTION_REQ_HOST_ATTRIBUTE is an appropriate hook event or should I create one specifically for localAddr and localPort? Revision ChangesPath 1.19 +18 -2 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/Request.java Index: Request.java === RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/Request.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- Request.java 20 Jan 2003 23:45:11 - 1.18 +++ Request.java 5 Mar 2003 02:31:47 - 1.19 @@ -134,6 +134,8 @@ private MessageBytes serverNameMB = new MessageBytes(); private String localHost; + +private int remotePort; private MessageBytes schemeMB = new MessageBytes(); @@ -146,8 +148,10 @@ // remote address/host private MessageBytes remoteAddrMB = new MessageBytes(); +private MessageBytes localAddr = new MessageBytes(); private MessageBytes remoteHostMB = new MessageBytes(); - +private MessageBytes localAddrMB = new MessageBytes(); + private MimeHeaders headers = new MimeHeaders(); private MessageBytes instanceId = new MessageBytes(); @@ -280,12 +284,24 @@ return remoteHostMB; } +public MessageBytes localAddr() { + return localAddrMB; +} + public String getLocalHost() { return localHost; } public void setLocalHost(String host) { this.localHost = host; +} + +public int getRemotePort(){ +return remotePort; +} + +public void setRemotePort(int port){ +this.remotePort = port; } @@ -493,7 +509,7 @@ parameters.recycle(); unparsedURIMB.recycle(); -uriMB.recycle(); +uriMB.recycle(); decodedUriMB.recycle(); queryMB.recycle(); methodMB.recycle(); 1.21 +70 -5 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/CoyoteRequest.java Index: CoyoteRequest.java === RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/CoyoteRequest.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- CoyoteRequest.java30 Jan 2003 18:22:58 - 1.20 +++ CoyoteRequest.java5 Mar 2003 02:31:47 - 1.21 @@ -374,7 +374,17 @@ */ protected String remoteHost = null; - + +/** + * Remote port + */ +protected int remotePort = -1; + +/** + * Local address + */ +protected String localAddr = null; + // - Public Methods @@ -402,6 +412,8 @@ secure = false; remoteAddr = null; remoteHost = null; +remotePort = -1; +localAddr = null; attributes.clear(); notes.clear(); @@ -622,6 +634,8 @@ this.socket = socket; remoteHost = null; remoteAddr = null; +remotePort = -1; +localAddr = null; } @@ -1172,7 +1186,58 @@ return remoteHost; } +/** + * Returns the Internet
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core DummyRequest.java
remm2003/01/29 04:49:41 Modified:catalina/src/share/org/apache/catalina/core DummyRequest.java Log: - Add access to memory efficient buffers, as was mentioned over the past months. This allows manipulating the various paths available in the request. - Similar accessors will be added for headers, etc. Revision ChangesPath 1.4 +22 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/DummyRequest.java Index: DummyRequest.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/DummyRequest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- DummyRequest.java 28 Jan 2003 19:07:30 - 1.3 +++ DummyRequest.java 29 Jan 2003 12:49:41 - 1.4 @@ -102,6 +102,8 @@ import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; + +import org.apache.tomcat.util.buf.MessageBytes; import org.apache.naming.resources.Resource; import org.apache.naming.resources.DirContextURLStreamHandler; import org.apache.naming.resources.DirContextURLConnection; @@ -158,6 +160,10 @@ return (contextPath); } +public MessageBytes getContextPathMB() { +return null; +} + public ServletRequest getRequest() { return (this); } @@ -166,6 +172,10 @@ return decodedURI; } +public MessageBytes getDecodedRequestURIMB() { +return null; +} + public FilterChain getFilterChain() { return (this.filterChain); } @@ -190,12 +200,20 @@ pathInfo = path; } +public MessageBytes getPathInfoMB() { +return null; +} + public String getServletPath() { return servletPath; } public void setServletPath(String path) { servletPath = path; +} + +public MessageBytes getServletPathMB() { +return null; } public ValveContext getValveContext() { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core DummyRequest.java
remm2003/01/29 12:57:16 Modified:catalina/src/share/org/apache/catalina/core DummyRequest.java Log: - Add request path field (basically, it's servletPath + pathInfo, which is very convinient to have rather than compute it over and over). Revision ChangesPath 1.5 +8 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/DummyRequest.java Index: DummyRequest.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/DummyRequest.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- DummyRequest.java 29 Jan 2003 12:49:41 - 1.4 +++ DummyRequest.java 29 Jan 2003 20:57:16 - 1.5 @@ -204,6 +204,10 @@ return null; } +public MessageBytes getRequestPathMB() { +return null; +} + public String getServletPath() { return servletPath; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core DummyRequest.java
jfarcand2003/01/29 14:40:19 Modified:catalina/src/share/org/apache/catalina/core DummyRequest.java Log: Return an empty enumeration instead of a null to be spec compliant (and to avoid JspServlet to throw NPE) Revision ChangesPath 1.6 +14 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/DummyRequest.java Index: DummyRequest.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/DummyRequest.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DummyRequest.java 29 Jan 2003 20:57:16 - 1.5 +++ DummyRequest.java 29 Jan 2003 22:40:19 - 1.6 @@ -155,6 +155,15 @@ protected FilterChain filterChain = null; protected ValveContext valveContext = null; + +protected Enumeration dummyEnum = new Enumeration(){ +public boolean hasMoreElements(){ +return false; +} +public Object nextElement(){ +return null; +} +}; public String getContextPath() { return (contextPath); @@ -310,7 +319,7 @@ public void setUserPrincipal(Principal principal) {} public String getParameter(String name) { return null; } public Map getParameterMap() { return null; } -public Enumeration getParameterNames() { return null; } +public Enumeration getParameterNames() { return dummyEnum; } public String[] getParameterValues(String name) { return null; } public RequestDispatcher getRequestDispatcher(String path) { return null; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core DummyRequest.java
jfarcand2003/01/29 16:04:29 Modified:catalina/src/share/org/apache/catalina/core DummyRequest.java Log: Make the dummy enumeration static and private. This way we will create only 1 object. Thanks to Jan. Revision ChangesPath 1.7 +5 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/DummyRequest.java Index: DummyRequest.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/DummyRequest.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- DummyRequest.java 29 Jan 2003 22:40:19 - 1.6 +++ DummyRequest.java 30 Jan 2003 00:04:28 - 1.7 @@ -156,7 +156,7 @@ protected FilterChain filterChain = null; protected ValveContext valveContext = null; -protected Enumeration dummyEnum = new Enumeration(){ +private static Enumeration dummyEnum = new Enumeration(){ public boolean hasMoreElements(){ return false; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core DummyRequest.java
remm2003/01/28 11:07:30 Modified:catalina/src/share/org/apache/catalina/core DummyRequest.java Log: - Ooops, missing update. Revision ChangesPath 1.3 +6 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/DummyRequest.java Index: DummyRequest.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/DummyRequest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- DummyRequest.java 25 Nov 2002 21:03:50 - 1.2 +++ DummyRequest.java 28 Jan 2003 19:07:30 - 1.3 @@ -220,6 +220,8 @@ public void setConnector(Connector connector) {} public Context getContext() { return null; } public void setContext(Context context) {} +public Host getHost() { return null; } +public void setHost(Host host) {} public String getInfo() { return null; } public Response getResponse() { return null; } public void setResponse(Response response) {} -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core DummyRequest.java DummyResponse.java ApplicationContext.java StandardWrapper.java MappingRequest.java
remm2002/10/09 01:01:12 Modified:catalina/src/share/org/apache/catalina/core ApplicationContext.java StandardWrapper.java Added: catalina/src/share/org/apache/catalina/core DummyRequest.java DummyResponse.java Removed: catalina/src/share/org/apache/catalina/core MappingRequest.java Log: - Remove dependency on deprecated components. Revision ChangesPath 1.3 +6 -12 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationContext.java Index: ApplicationContext.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationContext.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ApplicationContext.java 5 Sep 2002 12:06:08 - 1.2 +++ ApplicationContext.java 9 Oct 2002 08:01:11 - 1.3 @@ -149,7 +149,7 @@ } public Object run() { -HttpRequest request = new MappingRequest +HttpRequest request = new DummyRequest (context.getPath(), contextPath + relativeURI, queryString); Wrapper wrapper = (Wrapper) context.map(request, true); if (wrapper == null) @@ -604,14 +604,8 @@ // The remaining code is duplicated in PrivilegedGetRequestDispatcher, // we need to make sure they stay in sync -HttpRequest request = new MappingRequest +HttpRequest request = new DummyRequest (context.getPath(), contextPath + relativeURI, queryString); -/* -request.setContext(context); -request.setContextPath(context.getPath()); -request.setRequestURI(contextPath + relativeURI); -request.setQueryString(queryString); -*/ Wrapper wrapper = (Wrapper) context.map(request, true); if (wrapper == null) return (null); 1.5 +6 -8 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- StandardWrapper.java 27 Sep 2002 07:13:05 - 1.4 +++ StandardWrapper.java 9 Oct 2002 08:01:11 - 1.5 @@ -93,8 +93,6 @@ import org.apache.catalina.Wrapper; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; -import org.apache.catalina.connector.HttpRequestBase; -import org.apache.catalina.connector.HttpResponseBase; import org.apache.catalina.loader.StandardClassLoader; import org.apache.catalina.util.Enumerator; import org.apache.catalina.util.InstanceSupport; @@ -941,10 +939,10 @@ // Invoke jspInit on JSP pages if ((loadOnStartup = 0) (jspFile != null)) { // Invoking jspInit -HttpRequestBase req = new HttpRequestBase(); -HttpResponseBase res = new HttpResponseBase(); +DummyRequest req = new DummyRequest(); req.setServletPath(jspFile); req.setQueryString(jsp_precompile=true); +DummyResponse res = new DummyResponse(); if( System.getSecurityManager() != null) { Class[] classType = new Class[]{ServletRequest.class, 1.1 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/DummyRequest.java Index: DummyRequest.java === /* * $Header: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/DummyRequest.java,v 1.1 2002/10/09 08:01:11 remm Exp $ * $Revision: 1.1 $ * $Date: 2002/10/09 08:01:11 $ * * * * The Apache Software License, Version 1.1 * * Copyright (c) 1999 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright *notice, this list of conditions and the following disclaimer in *the documentation and/or other materials provided with the *distribution. * * 3. The