001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017:
018: package org.apache.catalina.servlets;
019:
020: import javax.servlet.http.HttpServletRequest;
021: import javax.servlet.http.HttpServletRequestWrapper;
022:
023: /**
024: * Wrapper around a <code>javax.servlet.http.HttpServletRequest</code>
025: * utilized when <code>InvokerServlet</code> processes the initial request
026: * for an invoked servlet. Subsequent requests will be mapped directly
027: * to the servlet, because a new servlet mapping will have been created.
028: *
029: * @author Craig R. McClanahan
030: * @version $Revision: 467222 $ $Date: 2006-10-24 05:17:11 +0200 (mar., 24 oct. 2006) $
031: */
032:
033: class InvokerHttpRequest extends HttpServletRequestWrapper {
034:
035: // ----------------------------------------------------------- Constructors
036:
037: /**
038: * Construct a new wrapped request around the specified servlet request.
039: *
040: * @param request The servlet request being wrapped
041: */
042: public InvokerHttpRequest(HttpServletRequest request) {
043:
044: super (request);
045: this .pathInfo = request.getPathInfo();
046: this .pathTranslated = request.getPathTranslated();
047: this .requestURI = request.getRequestURI();
048: this .servletPath = request.getServletPath();
049:
050: }
051:
052: // ----------------------------------------------------- Instance Variables
053:
054: /**
055: * Descriptive information about this implementation.
056: */
057: protected static final String info = "org.apache.catalina.servlets.InvokerHttpRequest/1.0";
058:
059: /**
060: * The path information for this request.
061: */
062: protected String pathInfo = null;
063:
064: /**
065: * The translated path information for this request.
066: */
067: protected String pathTranslated = null;
068:
069: /**
070: * The request URI for this request.
071: */
072: protected String requestURI = null;
073:
074: /**
075: * The servlet path for this request.
076: */
077: protected String servletPath = null;
078:
079: // --------------------------------------------- HttpServletRequest Methods
080:
081: /**
082: * Override the <code>getPathInfo()</code> method of the wrapped request.
083: */
084: public String getPathInfo() {
085:
086: return (this .pathInfo);
087:
088: }
089:
090: /**
091: * Override the <code>getPathTranslated()</code> method of the
092: * wrapped request.
093: */
094: public String getPathTranslated() {
095:
096: return (this .pathTranslated);
097:
098: }
099:
100: /**
101: * Override the <code>getRequestURI()</code> method of the wrapped request.
102: */
103: public String getRequestURI() {
104:
105: return (this .requestURI);
106:
107: }
108:
109: /**
110: * Override the <code>getServletPath()</code> method of the wrapped
111: * request.
112: */
113: public String getServletPath() {
114:
115: return (this .servletPath);
116:
117: }
118:
119: // -------------------------------------------------------- Package Methods
120:
121: /**
122: * Return descriptive information about this implementation.
123: */
124: public String getInfo() {
125:
126: return (info);
127:
128: }
129:
130: /**
131: * Set the path information for this request.
132: *
133: * @param pathInfo The new path info
134: */
135: void setPathInfo(String pathInfo) {
136:
137: this .pathInfo = pathInfo;
138:
139: }
140:
141: /**
142: * Set the translated path info for this request.
143: *
144: * @param pathTranslated The new translated path info
145: */
146: void setPathTranslated(String pathTranslated) {
147:
148: this .pathTranslated = pathTranslated;
149:
150: }
151:
152: /**
153: * Set the request URI for this request.
154: *
155: * @param requestURI The new request URI
156: */
157: void setRequestURI(String requestURI) {
158:
159: this .requestURI = requestURI;
160:
161: }
162:
163: /**
164: * Set the servlet path for this request.
165: *
166: * @param servletPath The new servlet path
167: */
168: void setServletPath(String servletPath) {
169:
170: this.servletPath = servletPath;
171:
172: }
173:
174: }
|