jfarcand 2003/12/02 15:01:01 Modified: coyote/src/java/org/apache/coyote Request.java ActionCode.java catalina/src/share/org/apache/coyote/tomcat5 CoyoteRequest.java http11/src/java/org/apache/coyote/http11 Http11Processor.java Log: Add proper getLocalName implementation. Please review Revision Changes Path 1.25 +5 -1 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.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- Request.java 2 Dec 2003 16:27:11 -0000 1.24 +++ Request.java 2 Dec 2003 23:01:00 -0000 1.25 @@ -149,7 +149,7 @@ // remote address/host private MessageBytes remoteAddrMB = new MessageBytes(); - private MessageBytes localAddr = new MessageBytes(); + private MessageBytes localNameMB = new MessageBytes(); private MessageBytes remoteHostMB = new MessageBytes(); private MessageBytes localAddrMB = new MessageBytes(); @@ -284,6 +284,10 @@ public MessageBytes remoteHost() { return remoteHostMB; } + + public MessageBytes localName() { + return localNameMB; + } public MessageBytes localAddr() { return localAddrMB; 1.15 +6 -0 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/ActionCode.java Index: ActionCode.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/ActionCode.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- ActionCode.java 2 Dec 2003 16:27:11 -0000 1.14 +++ ActionCode.java 2 Dec 2003 23:01:00 -0000 1.15 @@ -153,6 +153,12 @@ * Callback for lazy evaluation - local address. **/ public static final ActionCode ACTION_REQ_LOCAL_ADDR_ATTRIBUTE = new ActionCode(18); + + + /** + * Callback for lazy evaluation - local address. + **/ + public static final ActionCode ACTION_REQ_LOCAL_NAME_ATTRIBUTE = new ActionCode(19); // ----------------------------------------------------------- Constructors int code; 1.25 +23 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/CoyoteRequest.java Index: CoyoteRequest.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/coyote/tomcat5/CoyoteRequest.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- CoyoteRequest.java 2 Dec 2003 16:27:11 -0000 1.24 +++ CoyoteRequest.java 2 Dec 2003 23:01:01 -0000 1.25 @@ -391,7 +391,13 @@ * Local address */ protected String localAddr = null; + + /** + * Local address + */ + protected String localName = null; + /** After the request is mapped to a ServletContext, we can also * map it to a logger. */ @@ -427,6 +433,7 @@ remotePort = -1; localPort = -1; localAddr = null; + localName = null; attributes.clear(); notes.clear(); @@ -654,6 +661,7 @@ remotePort = -1; localPort = -1; localAddr = null; + localName = null; } @@ -1255,7 +1263,17 @@ * which the request was received. */ public String getLocalName(){ - return getServerName(); + if (localName == null) { + if (socket != null) { + InetAddress inet = socket.getLocalAddress(); + localAddr = inet.getHostName(); + } else { + coyoteRequest.action + (ActionCode.ACTION_REQ_LOCAL_NAME_ATTRIBUTE, coyoteRequest); + localName = coyoteRequest.localName().toString(); + } + } + return localName; } /** 1.92 +21 -2 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java Index: Http11Processor.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java,v retrieving revision 1.91 retrieving revision 1.92 diff -u -r1.91 -r1.92 --- Http11Processor.java 2 Dec 2003 16:27:11 -0000 1.91 +++ Http11Processor.java 2 Dec 2003 23:01:01 -0000 1.92 @@ -239,9 +239,17 @@ * Remote Host associated with the current connection. */ protected String remoteHost = null; - + + /** - * Remote port to which the socket is connected + * Local Host associated with the current connection. + */ + protected String localName = null; + + + + /** + * Local port to which the socket is connected */ protected int localPort = -1; @@ -1008,7 +1016,18 @@ } request.remoteAddr().setString(remoteAddr); + } else if (actionCode == ActionCode.ACTION_REQ_LOCAL_NAME_ATTRIBUTE) { + + if ((localName == null) && (socket != null)) { + InetAddress inetAddr = socket.getLocalAddress(); + if (inetAddr != null) { + localName = inetAddr.getHostName(); + } + } + request.localName().setString(localName); + } else if (actionCode == ActionCode.ACTION_REQ_HOST_ATTRIBUTE) { + if ((remoteHost == null) && (socket != null)) { InetAddress inetAddr = socket.getInetAddress(); if (inetAddr != null) {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]