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 */
017package javax.servlet.http;
018
019import java.io.BufferedReader;
020import java.io.IOException;
021import java.io.UnsupportedEncodingException;
022import java.security.Principal;
023import java.util.Collection;
024import java.util.Enumeration;
025import java.util.Locale;
026import java.util.Map;
027
028import jakarta.servlet.AsyncContext;
029import jakarta.servlet.DispatcherType;
030import jakarta.servlet.RequestDispatcher;
031import jakarta.servlet.ServletConnection;
032import jakarta.servlet.ServletContext;
033import jakarta.servlet.ServletException;
034import jakarta.servlet.ServletInputStream;
035import jakarta.servlet.ServletRequest;
036import jakarta.servlet.ServletResponse;
037import jakarta.servlet.http.Cookie;
038import jakarta.servlet.http.HttpServletResponse;
039import jakarta.servlet.http.HttpSession;
040import jakarta.servlet.http.HttpUpgradeHandler;
041import jakarta.servlet.http.Part;
042
043/**
044 * A temporary class used until all dependencies provide releases based on jakarta.** APIs
045 */
046public interface HttpServletRequest extends jakarta.servlet.http.HttpServletRequest {
047
048    class Impl implements HttpServletRequest {
049
050        private final jakarta.servlet.http.HttpServletRequest delegate;
051
052        public Impl(jakarta.servlet.http.HttpServletRequest delegate)
053        {
054            this.delegate = delegate;
055        }
056        
057        @Override
058        public jakarta.servlet.http.HttpServletRequest getDelegate() {
059            return delegate;
060        }
061
062        @Override
063        public String getRequestId() {
064            return delegate.getRequestId();
065        }
066
067        @Override
068        public String getProtocolRequestId() {
069            return delegate.getProtocolRequestId();
070        }
071
072        @Override
073        public ServletConnection getServletConnection() {
074            return delegate.getServletConnection();
075        }
076    }
077
078    jakarta.servlet.http.HttpServletRequest getDelegate();
079
080    @Override
081    default String getAuthType() {
082        return getDelegate().getAuthType();
083    }
084
085    @Override
086    default Cookie[] getCookies() {
087        return getDelegate().getCookies();
088    }
089
090    @Override
091    default long getDateHeader(String name) {
092        return getDelegate().getDateHeader(name);
093    }
094
095    @Override
096    default String getHeader(String name) {
097        return getDelegate().getHeader(name);
098    }
099
100    @Override
101    default Enumeration<String> getHeaders(String name) {
102        return getDelegate().getHeaders(name);
103    }
104
105    @Override
106    default Enumeration<String> getHeaderNames() {
107        return getDelegate().getHeaderNames();
108    }
109
110    @Override
111    default int getIntHeader(String name) {
112        return getDelegate().getIntHeader(name);
113    }
114
115    @Override
116    default String getMethod() {
117        return getDelegate().getMethod();
118    }
119
120    @Override
121    default String getPathInfo() {
122        return getDelegate().getPathInfo();
123    }
124
125    @Override
126    default String getPathTranslated() {
127        return getDelegate().getPathTranslated();
128    }
129
130    @Override
131    default String getContextPath() {
132        return getDelegate().getContextPath();
133    }
134
135    @Override
136    default String getQueryString() {
137        return getDelegate().getQueryString();
138    }
139
140    @Override
141    default String getRemoteUser() {
142        return getDelegate().getRemoteUser();
143    }
144
145    @Override
146    default boolean isUserInRole(String role) {
147        return getDelegate().isUserInRole(role);
148    }
149
150    @Override
151    default Principal getUserPrincipal() {
152        return getDelegate().getUserPrincipal();
153    }
154
155    @Override
156    default String getRequestedSessionId() {
157        return getDelegate().getRequestedSessionId();
158    }
159
160    @Override
161    default String getRequestURI() {
162        return getDelegate().getRequestURI();
163    }
164
165    @Override
166    default StringBuffer getRequestURL() {
167        return getDelegate().getRequestURL();
168    }
169
170    @Override
171    default String getServletPath() {
172        return getDelegate().getServletPath();
173    }
174
175    @Override
176    default HttpSession getSession(boolean create) {
177        return getDelegate().getSession(create);
178    }
179
180    @Override
181    default HttpSession getSession() {
182        return getDelegate().getSession();
183    }
184
185    @Override
186    default String changeSessionId() {
187        return getDelegate().changeSessionId();
188    }
189
190    @Override
191    default boolean isRequestedSessionIdValid() {
192        return getDelegate().isRequestedSessionIdValid();
193    }
194
195    @Override
196    default boolean isRequestedSessionIdFromCookie() {
197        return getDelegate().isRequestedSessionIdFromCookie();
198    }
199
200    @Override
201    default boolean isRequestedSessionIdFromURL() {
202        return getDelegate().isRequestedSessionIdFromURL();
203    }
204
205    @Override
206    default boolean authenticate(HttpServletResponse response) throws IOException, ServletException {
207        return getDelegate().authenticate(response);
208    }
209
210    @Override
211    default void login(String username, String password) throws ServletException {
212        getDelegate().login(username, password);
213    }
214
215    @Override
216    default void logout() throws ServletException {
217        getDelegate().logout();
218    }
219
220    @Override
221    default Collection<Part> getParts() throws IOException, ServletException {
222        return getDelegate().getParts();
223    }
224
225    @Override
226    default Part getPart(String name) throws IOException, ServletException {
227        return getDelegate().getPart(name);
228    }
229
230    @Override
231    default <T extends HttpUpgradeHandler> T upgrade(Class<T> handlerClass) throws IOException, ServletException {
232        return getDelegate().upgrade(handlerClass);
233    }
234
235    @Override
236    default Object getAttribute(String name) {
237        return getDelegate().getAttribute(name);
238    }
239
240    @Override
241    default Enumeration<String> getAttributeNames() {
242        return getDelegate().getAttributeNames();
243    }
244
245    @Override
246    default String getCharacterEncoding() {
247        return getDelegate().getCharacterEncoding();
248    }
249
250    @Override
251    default void setCharacterEncoding(String env) throws UnsupportedEncodingException {
252        getDelegate().setCharacterEncoding(env);
253    }
254
255    @Override
256    default int getContentLength() {
257        return getDelegate().getContentLength();
258    }
259
260    @Override
261    default long getContentLengthLong() {
262        return getDelegate().getContentLengthLong();
263    }
264
265    @Override
266    default String getContentType() {
267        return getDelegate().getContentType();
268    }
269
270    @Override
271    default ServletInputStream getInputStream() throws IOException {
272        return getDelegate().getInputStream();
273    }
274
275    @Override
276    default String getParameter(String name) {
277        return getDelegate().getParameter(name);
278    }
279
280    @Override
281    default Enumeration<String> getParameterNames() {
282        return getDelegate().getParameterNames();
283    }
284
285    @Override
286    default String[] getParameterValues(String name) {
287        return getDelegate().getParameterValues(name);
288    }
289
290    @Override
291    default Map<String, String[]> getParameterMap() {
292        return getDelegate().getParameterMap();
293    }
294
295    @Override
296    default String getProtocol() {
297        return getDelegate().getProtocol();
298    }
299
300    @Override
301    default String getScheme() {
302        return getDelegate().getScheme();
303    }
304
305    @Override
306    default String getServerName() {
307        return getDelegate().getScheme();
308    }
309
310    @Override
311    default int getServerPort() {
312        return getDelegate().getServerPort();
313    }
314
315    @Override
316    default BufferedReader getReader() throws IOException {
317        return getDelegate().getReader();
318    }
319
320    @Override
321    default String getRemoteAddr() {
322        return getDelegate().getRemoteAddr();
323    }
324
325    @Override
326    default String getRemoteHost() {
327        return getDelegate().getRemoteHost();
328    }
329
330    @Override
331    default void setAttribute(String name, Object o) {
332        getDelegate().setAttribute(name, o);
333    }
334
335    @Override
336    default void removeAttribute(String name) {
337        getDelegate().removeAttribute(name);
338    }
339
340    @Override
341    default Locale getLocale() {
342        return getDelegate().getLocale();
343    }
344
345    @Override
346    default Enumeration<Locale> getLocales() {
347        return getDelegate().getLocales();
348    }
349
350    @Override
351    default boolean isSecure() {
352        return getDelegate().isSecure();
353    }
354
355    @Override
356    default RequestDispatcher getRequestDispatcher(String path) {
357        return getDelegate().getRequestDispatcher(path);
358    }
359
360    @Override
361    default int getRemotePort() {
362        return getDelegate().getRemotePort();
363    }
364
365    @Override
366    default String getLocalName() {
367        return getDelegate().getLocalName();
368    }
369
370    @Override
371    default String getLocalAddr() {
372        return getDelegate().getLocalAddr();
373    }
374
375    @Override
376    default int getLocalPort() {
377        return getDelegate().getLocalPort();
378    }
379
380    @Override
381    default ServletContext getServletContext() {
382        return getDelegate().getServletContext();
383    }
384
385    @Override
386    default AsyncContext startAsync() throws IllegalStateException {
387        return getDelegate().startAsync();
388    }
389
390    @Override
391    default AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) throws IllegalStateException {
392        return getDelegate().startAsync(servletRequest, servletResponse);
393    }
394
395    @Override
396    default boolean isAsyncStarted() {
397        return getDelegate().isAsyncStarted();
398    }
399
400    @Override
401    default boolean isAsyncSupported() {
402        return getDelegate().isAsyncSupported();
403    }
404
405    @Override
406    default AsyncContext getAsyncContext() {
407        return getDelegate().getAsyncContext();
408    }
409
410    @Override
411    default DispatcherType getDispatcherType() {
412        return getDelegate().getDispatcherType();
413    }
414}