1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 package javax.servlet.http; 18 19 import javax.servlet.ServletRequestWrapper; 20 import java.util.Enumeration; 21 22 /** 23 * 24 * Provides a convenient implementation of the HttpServletRequest interface that 25 * can be subclassed by developers wishing to adapt the request to a Servlet. 26 * This class implements the Wrapper or Decorator pattern. Methods default to 27 * calling through to the wrapped request object. 28 * 29 * 30 * @see javax.servlet.http.HttpServletRequest 31 * @since v 2.3 32 * 33 */ 34 35 36 public class HttpServletRequestWrapper extends ServletRequestWrapper implements HttpServletRequest { 37 38 /** 39 * Constructs a request object wrapping the given request. 40 * @throws java.lang.IllegalArgumentException if the request is null 41 */ 42 public HttpServletRequestWrapper(HttpServletRequest request) { 43 super(request); 44 } 45 46 private HttpServletRequest _getHttpServletRequest() { 47 return (HttpServletRequest) super.getRequest(); 48 } 49 50 /** 51 * The default behavior of this method is to return getAuthType() 52 * on the wrapped request object. 53 */ 54 55 public String getAuthType() { 56 return this._getHttpServletRequest().getAuthType(); 57 } 58 59 /** 60 * The default behavior of this method is to return getCookies() 61 * on the wrapped request object. 62 */ 63 public Cookie[] getCookies() { 64 return this._getHttpServletRequest().getCookies(); 65 } 66 67 /** 68 * The default behavior of this method is to return getDateHeader(String name) 69 * on the wrapped request object. 70 */ 71 public long getDateHeader(String name) { 72 return this._getHttpServletRequest().getDateHeader(name); 73 } 74 75 /** 76 * The default behavior of this method is to return getHeader(String name) 77 * on the wrapped request object. 78 */ 79 public String getHeader(String name) { 80 return this._getHttpServletRequest().getHeader(name); 81 } 82 83 /** 84 * The default behavior of this method is to return getHeaders(String name) 85 * on the wrapped request object. 86 */ 87 public Enumeration getHeaders(String name) { 88 return this._getHttpServletRequest().getHeaders(name); 89 } 90 91 /** 92 * The default behavior of this method is to return getHeaderNames() 93 * on the wrapped request object. 94 */ 95 96 public Enumeration getHeaderNames() { 97 return this._getHttpServletRequest().getHeaderNames(); 98 } 99 100 /** 101 * The default behavior of this method is to return getIntHeader(String name) 102 * on the wrapped request object. 103 */ 104 105 public int getIntHeader(String name) { 106 return this._getHttpServletRequest().getIntHeader(name); 107 } 108 109 /** 110 * The default behavior of this method is to return getMethod() 111 * on the wrapped request object. 112 */ 113 public String getMethod() { 114 return this._getHttpServletRequest().getMethod(); 115 } 116 117 /** 118 * The default behavior of this method is to return getPathInfo() 119 * on the wrapped request object. 120 */ 121 public String getPathInfo() { 122 return this._getHttpServletRequest().getPathInfo(); 123 } 124 125 /** 126 * The default behavior of this method is to return getPathTranslated() 127 * on the wrapped request object. 128 */ 129 130 public String getPathTranslated() { 131 return this._getHttpServletRequest().getPathTranslated(); 132 } 133 134 /** 135 * The default behavior of this method is to return getContextPath() 136 * on the wrapped request object. 137 */ 138 public String getContextPath() { 139 return this._getHttpServletRequest().getContextPath(); 140 } 141 142 /** 143 * The default behavior of this method is to return getQueryString() 144 * on the wrapped request object. 145 */ 146 public String getQueryString() { 147 return this._getHttpServletRequest().getQueryString(); 148 } 149 150 /** 151 * The default behavior of this method is to return getRemoteUser() 152 * on the wrapped request object. 153 */ 154 public String getRemoteUser() { 155 return this._getHttpServletRequest().getRemoteUser(); 156 } 157 158 159 /** 160 * The default behavior of this method is to return isUserInRole(String role) 161 * on the wrapped request object. 162 */ 163 public boolean isUserInRole(String role) { 164 return this._getHttpServletRequest().isUserInRole(role); 165 } 166 167 168 169 /** 170 * The default behavior of this method is to return getUserPrincipal() 171 * on the wrapped request object. 172 */ 173 public java.security.Principal getUserPrincipal() { 174 return this._getHttpServletRequest().getUserPrincipal(); 175 } 176 177 178 /** 179 * The default behavior of this method is to return getRequestedSessionId() 180 * on the wrapped request object. 181 */ 182 public String getRequestedSessionId() { 183 return this._getHttpServletRequest().getRequestedSessionId(); 184 } 185 186 /** 187 * The default behavior of this method is to return getRequestURI() 188 * on the wrapped request object. 189 */ 190 public String getRequestURI() { 191 return this._getHttpServletRequest().getRequestURI(); 192 } 193 /** 194 * The default behavior of this method is to return getRequestURL() 195 * on the wrapped request object. 196 */ 197 public StringBuffer getRequestURL() { 198 return this._getHttpServletRequest().getRequestURL(); 199 } 200 201 202 /** 203 * The default behavior of this method is to return getServletPath() 204 * on the wrapped request object. 205 */ 206 public String getServletPath() { 207 return this._getHttpServletRequest().getServletPath(); 208 } 209 210 211 /** 212 * The default behavior of this method is to return getSession(boolean create) 213 * on the wrapped request object. 214 */ 215 public HttpSession getSession(boolean create) { 216 return this._getHttpServletRequest().getSession(create); 217 } 218 219 /** 220 * The default behavior of this method is to return getSession() 221 * on the wrapped request object. 222 */ 223 public HttpSession getSession() { 224 return this._getHttpServletRequest().getSession(); 225 } 226 227 /** 228 * The default behavior of this method is to return isRequestedSessionIdValid() 229 * on the wrapped request object. 230 */ 231 232 public boolean isRequestedSessionIdValid() { 233 return this._getHttpServletRequest().isRequestedSessionIdValid(); 234 } 235 236 237 /** 238 * The default behavior of this method is to return isRequestedSessionIdFromCookie() 239 * on the wrapped request object. 240 */ 241 public boolean isRequestedSessionIdFromCookie() { 242 return this._getHttpServletRequest().isRequestedSessionIdFromCookie(); 243 } 244 245 /** 246 * The default behavior of this method is to return isRequestedSessionIdFromURL() 247 * on the wrapped request object. 248 */ 249 public boolean isRequestedSessionIdFromURL() { 250 return this._getHttpServletRequest().isRequestedSessionIdFromURL(); 251 } 252 253 /** 254 * The default behavior of this method is to return isRequestedSessionIdFromUrl() 255 * on the wrapped request object. 256 */ 257 public boolean isRequestedSessionIdFromUrl() { 258 return this._getHttpServletRequest().isRequestedSessionIdFromUrl(); 259 } 260 261 262 263 }