xref: /OpenGrok/plugins/src/test/java/opengrok/auth/plugin/util/DummyHttpServletRequestUser.java (revision 0e4c55544f8ea0a68e8bae37b0e502097e008ec1)
1b28a5538SAdam Hornacek /*
2b28a5538SAdam Hornacek  * CDDL HEADER START
3b28a5538SAdam Hornacek  *
4b28a5538SAdam Hornacek  * The contents of this file are subject to the terms of the
5b28a5538SAdam Hornacek  * Common Development and Distribution License (the "License").
6b28a5538SAdam Hornacek  * You may not use this file except in compliance with the License.
7b28a5538SAdam Hornacek  *
8b28a5538SAdam Hornacek  * See LICENSE.txt included in this distribution for the specific
9b28a5538SAdam Hornacek  * language governing permissions and limitations under the License.
10b28a5538SAdam Hornacek  *
11b28a5538SAdam Hornacek  * When distributing Covered Code, include this CDDL HEADER in each
12b28a5538SAdam Hornacek  * file and include the License file at LICENSE.txt.
13b28a5538SAdam Hornacek  * If applicable, add the following below this CDDL HEADER, with the
14b28a5538SAdam Hornacek  * fields enclosed by brackets "[]" replaced with your own identifying
15b28a5538SAdam Hornacek  * information: Portions Copyright [yyyy] [name of copyright owner]
16b28a5538SAdam Hornacek  *
17b28a5538SAdam Hornacek  * CDDL HEADER END
18b28a5538SAdam Hornacek  */
19b28a5538SAdam Hornacek 
20b28a5538SAdam Hornacek /*
215d9f3aa0SAdam Hornáček  * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
22b28a5538SAdam Hornacek  */
23b28a5538SAdam Hornacek package opengrok.auth.plugin.util;
24b28a5538SAdam Hornacek 
25aa6abf42SAdam Hornacek import jakarta.servlet.AsyncContext;
26aa6abf42SAdam Hornacek import jakarta.servlet.DispatcherType;
27aa6abf42SAdam Hornacek import jakarta.servlet.RequestDispatcher;
28aa6abf42SAdam Hornacek import jakarta.servlet.ServletContext;
29aa6abf42SAdam Hornacek import jakarta.servlet.ServletInputStream;
30aa6abf42SAdam Hornacek import jakarta.servlet.ServletRequest;
31aa6abf42SAdam Hornacek import jakarta.servlet.ServletResponse;
32aa6abf42SAdam Hornacek import jakarta.servlet.http.Cookie;
33aa6abf42SAdam Hornacek import jakarta.servlet.http.HttpServletRequest;
34aa6abf42SAdam Hornacek import jakarta.servlet.http.HttpServletResponse;
35aa6abf42SAdam Hornacek import jakarta.servlet.http.HttpSession;
36aa6abf42SAdam Hornacek import jakarta.servlet.http.HttpUpgradeHandler;
37aa6abf42SAdam Hornacek import jakarta.servlet.http.Part;
38aa6abf42SAdam Hornacek 
39b28a5538SAdam Hornacek import java.io.BufferedReader;
40b28a5538SAdam Hornacek import java.io.IOException;
41b28a5538SAdam Hornacek import java.io.UnsupportedEncodingException;
42b28a5538SAdam Hornacek import java.security.Principal;
43b28a5538SAdam Hornacek import java.util.Base64;
44b28a5538SAdam Hornacek import java.util.Collection;
45b28a5538SAdam Hornacek import java.util.Collections;
46b28a5538SAdam Hornacek import java.util.Enumeration;
47b28a5538SAdam Hornacek import java.util.HashMap;
48b28a5538SAdam Hornacek import java.util.Locale;
49b28a5538SAdam Hornacek import java.util.Map;
50b28a5538SAdam Hornacek 
51b28a5538SAdam Hornacek public class DummyHttpServletRequestUser implements HttpServletRequest {
52b28a5538SAdam Hornacek 
53b28a5538SAdam Hornacek     private final Map<String, String> headers = new HashMap<>();
54b28a5538SAdam Hornacek     private final Map<String, Object> attrs = new HashMap<>();
55*c6f0939bSAdam Hornacek     private final HttpSession sessions = new HttpSession() {
56b28a5538SAdam Hornacek 
57b28a5538SAdam Hornacek         private final Map<String, Object> attrs = new HashMap<>();
58b28a5538SAdam Hornacek 
59b28a5538SAdam Hornacek         @Override
60b28a5538SAdam Hornacek         public long getCreationTime() {
61b28a5538SAdam Hornacek             return 0;
62b28a5538SAdam Hornacek         }
63b28a5538SAdam Hornacek 
64b28a5538SAdam Hornacek         @Override
65b28a5538SAdam Hornacek         public String getId() {
66b28a5538SAdam Hornacek             return "abcd";
67b28a5538SAdam Hornacek         }
68b28a5538SAdam Hornacek 
69b28a5538SAdam Hornacek         @Override
70b28a5538SAdam Hornacek         public long getLastAccessedTime() {
71b28a5538SAdam Hornacek             return 0;
72b28a5538SAdam Hornacek         }
73b28a5538SAdam Hornacek 
74b28a5538SAdam Hornacek         @Override
75b28a5538SAdam Hornacek         public ServletContext getServletContext() {
76b28a5538SAdam Hornacek             return (ServletContext) DummyHttpServletRequestUser.this;
77b28a5538SAdam Hornacek         }
78b28a5538SAdam Hornacek 
79b28a5538SAdam Hornacek         @Override
80b28a5538SAdam Hornacek         public void setMaxInactiveInterval(int i) {
81b28a5538SAdam Hornacek         }
82b28a5538SAdam Hornacek 
83b28a5538SAdam Hornacek         @Override
84b28a5538SAdam Hornacek         public int getMaxInactiveInterval() {
85b28a5538SAdam Hornacek             return 3600;
86b28a5538SAdam Hornacek         }
87b28a5538SAdam Hornacek 
88b28a5538SAdam Hornacek         @Override
89b28a5538SAdam Hornacek         @SuppressWarnings("deprecation")
90aa6abf42SAdam Hornacek         public jakarta.servlet.http.HttpSessionContext getSessionContext() {
91b28a5538SAdam Hornacek             throw new UnsupportedOperationException("Not supported yet.");
92b28a5538SAdam Hornacek         }
93b28a5538SAdam Hornacek 
94b28a5538SAdam Hornacek         @Override
95b28a5538SAdam Hornacek         public Object getAttribute(String string) {
96b28a5538SAdam Hornacek             return attrs.get(string);
97b28a5538SAdam Hornacek         }
98b28a5538SAdam Hornacek 
99b28a5538SAdam Hornacek         @Override
100b28a5538SAdam Hornacek         @SuppressWarnings("deprecation")
101b28a5538SAdam Hornacek         public Object getValue(String string) {
102b28a5538SAdam Hornacek             throw new UnsupportedOperationException("Not supported yet.");
103b28a5538SAdam Hornacek         }
104b28a5538SAdam Hornacek 
105b28a5538SAdam Hornacek         @Override
106b28a5538SAdam Hornacek         public Enumeration<String> getAttributeNames() {
107b28a5538SAdam Hornacek             throw new UnsupportedOperationException("Not supported yet.");
108b28a5538SAdam Hornacek         }
109b28a5538SAdam Hornacek 
110b28a5538SAdam Hornacek         @Override
111b28a5538SAdam Hornacek         @SuppressWarnings("deprecation")
112b28a5538SAdam Hornacek         public String[] getValueNames() {
113b28a5538SAdam Hornacek             throw new UnsupportedOperationException("Not supported yet.");
114b28a5538SAdam Hornacek         }
115b28a5538SAdam Hornacek 
116b28a5538SAdam Hornacek         @Override
117b28a5538SAdam Hornacek         public void setAttribute(String string, Object o) {
118b28a5538SAdam Hornacek             attrs.put(string, o);
119b28a5538SAdam Hornacek         }
120b28a5538SAdam Hornacek 
121b28a5538SAdam Hornacek         @Override
122b28a5538SAdam Hornacek         @SuppressWarnings("deprecation")
123b28a5538SAdam Hornacek         public void putValue(String string, Object o) {
124b28a5538SAdam Hornacek         }
125b28a5538SAdam Hornacek 
126b28a5538SAdam Hornacek         @Override
127b28a5538SAdam Hornacek         public void removeAttribute(String string) {
128b28a5538SAdam Hornacek             attrs.remove(string);
129b28a5538SAdam Hornacek         }
130b28a5538SAdam Hornacek 
131b28a5538SAdam Hornacek         @Override
132b28a5538SAdam Hornacek         @SuppressWarnings("deprecation")
133b28a5538SAdam Hornacek         public void removeValue(String string) {
134b28a5538SAdam Hornacek         }
135b28a5538SAdam Hornacek 
136b28a5538SAdam Hornacek         @Override
137b28a5538SAdam Hornacek         public void invalidate() {
138b28a5538SAdam Hornacek         }
139b28a5538SAdam Hornacek 
140b28a5538SAdam Hornacek         @Override
141b28a5538SAdam Hornacek         public boolean isNew() {
142b28a5538SAdam Hornacek             return true;
143b28a5538SAdam Hornacek         }
144b28a5538SAdam Hornacek     };
145b28a5538SAdam Hornacek 
146b28a5538SAdam Hornacek     @Override
getAuthType()147b28a5538SAdam Hornacek     public String getAuthType() {
148b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
149b28a5538SAdam Hornacek     }
150b28a5538SAdam Hornacek 
151b28a5538SAdam Hornacek     @Override
getCookies()152b28a5538SAdam Hornacek     public Cookie[] getCookies() {
153b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
154b28a5538SAdam Hornacek     }
155b28a5538SAdam Hornacek 
156b28a5538SAdam Hornacek     @Override
getDateHeader(String string)157b28a5538SAdam Hornacek     public long getDateHeader(String string) {
158b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
159b28a5538SAdam Hornacek     }
160b28a5538SAdam Hornacek 
setHeader(String string, String value)161b28a5538SAdam Hornacek     public void setHeader(String string, String value) {
162b28a5538SAdam Hornacek         headers.put(string, value);
163b28a5538SAdam Hornacek     }
164b28a5538SAdam Hornacek 
165b28a5538SAdam Hornacek     @Override
getHeader(String string)166b28a5538SAdam Hornacek     public String getHeader(String string) {
167b28a5538SAdam Hornacek         return headers.get(string);
168b28a5538SAdam Hornacek     }
169b28a5538SAdam Hornacek 
170b28a5538SAdam Hornacek     @Override
getHeaders(String string)171b28a5538SAdam Hornacek     public Enumeration<String> getHeaders(String string) {
172b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
173b28a5538SAdam Hornacek     }
174b28a5538SAdam Hornacek 
175b28a5538SAdam Hornacek     @Override
getHeaderNames()176b28a5538SAdam Hornacek     public Enumeration<String> getHeaderNames() {
177b28a5538SAdam Hornacek         return Collections.enumeration(headers.keySet());
178b28a5538SAdam Hornacek     }
179b28a5538SAdam Hornacek 
180b28a5538SAdam Hornacek     @Override
getIntHeader(String string)181b28a5538SAdam Hornacek     public int getIntHeader(String string) {
182b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
183b28a5538SAdam Hornacek     }
184b28a5538SAdam Hornacek 
185b28a5538SAdam Hornacek     @Override
getMethod()186b28a5538SAdam Hornacek     public String getMethod() {
187b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
188b28a5538SAdam Hornacek     }
189b28a5538SAdam Hornacek 
190b28a5538SAdam Hornacek     @Override
getPathInfo()191b28a5538SAdam Hornacek     public String getPathInfo() {
192b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
193b28a5538SAdam Hornacek     }
194b28a5538SAdam Hornacek 
195b28a5538SAdam Hornacek     @Override
getPathTranslated()196b28a5538SAdam Hornacek     public String getPathTranslated() {
197b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
198b28a5538SAdam Hornacek     }
199b28a5538SAdam Hornacek 
200b28a5538SAdam Hornacek     @Override
getContextPath()201b28a5538SAdam Hornacek     public String getContextPath() {
202b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
203b28a5538SAdam Hornacek     }
204b28a5538SAdam Hornacek 
205b28a5538SAdam Hornacek     @Override
getQueryString()206b28a5538SAdam Hornacek     public String getQueryString() {
207b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
208b28a5538SAdam Hornacek     }
209b28a5538SAdam Hornacek 
210b28a5538SAdam Hornacek     @Override
getRemoteUser()211b28a5538SAdam Hornacek     public String getRemoteUser() {
212b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
213b28a5538SAdam Hornacek     }
214b28a5538SAdam Hornacek 
215b28a5538SAdam Hornacek     @Override
isUserInRole(String string)216b28a5538SAdam Hornacek     public boolean isUserInRole(String string) {
217b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
218b28a5538SAdam Hornacek     }
219b28a5538SAdam Hornacek 
220b28a5538SAdam Hornacek     @Override
getUserPrincipal()221b28a5538SAdam Hornacek     public Principal getUserPrincipal() {
222b28a5538SAdam Hornacek         String authHeader = getHeader("authorization");
223b28a5538SAdam Hornacek         if (authHeader == null) {
224b28a5538SAdam Hornacek             return null;
225b28a5538SAdam Hornacek         }
226b28a5538SAdam Hornacek 
227b28a5538SAdam Hornacek         if (!authHeader.startsWith("Basic")) {
228b28a5538SAdam Hornacek             return null;
229b28a5538SAdam Hornacek         }
230b28a5538SAdam Hornacek 
231b28a5538SAdam Hornacek         String encodedValue = authHeader.split(" ")[1];
232b28a5538SAdam Hornacek         Base64.Decoder decoder = Base64.getDecoder();
233b28a5538SAdam Hornacek         String username = new String(decoder.decode(encodedValue)).split(":")[0];
234*c6f0939bSAdam Hornacek         return () -> username;
235b28a5538SAdam Hornacek     }
236b28a5538SAdam Hornacek 
237b28a5538SAdam Hornacek     @Override
getRequestedSessionId()238b28a5538SAdam Hornacek     public String getRequestedSessionId() {
239b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
240b28a5538SAdam Hornacek     }
241b28a5538SAdam Hornacek 
242b28a5538SAdam Hornacek     @Override
getRequestURI()243b28a5538SAdam Hornacek     public String getRequestURI() {
244b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
245b28a5538SAdam Hornacek     }
246b28a5538SAdam Hornacek 
247b28a5538SAdam Hornacek     @Override
getRequestURL()248b28a5538SAdam Hornacek     public StringBuffer getRequestURL() {
249b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
250b28a5538SAdam Hornacek     }
251b28a5538SAdam Hornacek 
252b28a5538SAdam Hornacek     @Override
getServletPath()253b28a5538SAdam Hornacek     public String getServletPath() {
254b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
255b28a5538SAdam Hornacek     }
256b28a5538SAdam Hornacek 
257b28a5538SAdam Hornacek     @Override
getSession(boolean bln)258b28a5538SAdam Hornacek     public HttpSession getSession(boolean bln) {
259b28a5538SAdam Hornacek         return sessions;
260b28a5538SAdam Hornacek     }
261b28a5538SAdam Hornacek 
262b28a5538SAdam Hornacek     @Override
getSession()263b28a5538SAdam Hornacek     public HttpSession getSession() {
264b28a5538SAdam Hornacek         return sessions;
265b28a5538SAdam Hornacek     }
266b28a5538SAdam Hornacek 
267b28a5538SAdam Hornacek     @Override
changeSessionId()268b28a5538SAdam Hornacek     public String changeSessionId() {
269b28a5538SAdam Hornacek         return null;
270b28a5538SAdam Hornacek     }
271b28a5538SAdam Hornacek 
272b28a5538SAdam Hornacek     @Override
isRequestedSessionIdValid()273b28a5538SAdam Hornacek     public boolean isRequestedSessionIdValid() {
274b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
275b28a5538SAdam Hornacek     }
276b28a5538SAdam Hornacek 
277b28a5538SAdam Hornacek     @Override
isRequestedSessionIdFromCookie()278b28a5538SAdam Hornacek     public boolean isRequestedSessionIdFromCookie() {
279b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
280b28a5538SAdam Hornacek     }
281b28a5538SAdam Hornacek 
282b28a5538SAdam Hornacek     @Override
isRequestedSessionIdFromURL()283b28a5538SAdam Hornacek     public boolean isRequestedSessionIdFromURL() {
284b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
285b28a5538SAdam Hornacek     }
286b28a5538SAdam Hornacek 
287b28a5538SAdam Hornacek     @Override
288b28a5538SAdam Hornacek     @Deprecated
isRequestedSessionIdFromUrl()289b28a5538SAdam Hornacek     public boolean isRequestedSessionIdFromUrl() {
290b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
291b28a5538SAdam Hornacek     }
292b28a5538SAdam Hornacek 
293b28a5538SAdam Hornacek     @Override
authenticate(HttpServletResponse httpServletResponse)294b28a5538SAdam Hornacek     public boolean authenticate(HttpServletResponse httpServletResponse) {
295b28a5538SAdam Hornacek         return false;
296b28a5538SAdam Hornacek     }
297b28a5538SAdam Hornacek 
298b28a5538SAdam Hornacek     @Override
login(String s, String s1)299b28a5538SAdam Hornacek     public void login(String s, String s1) {
300b28a5538SAdam Hornacek 
301b28a5538SAdam Hornacek     }
302b28a5538SAdam Hornacek 
303b28a5538SAdam Hornacek     @Override
logout()304b28a5538SAdam Hornacek     public void logout() {
305b28a5538SAdam Hornacek 
306b28a5538SAdam Hornacek     }
307b28a5538SAdam Hornacek 
308b28a5538SAdam Hornacek     @Override
getParts()309b28a5538SAdam Hornacek     public Collection<Part> getParts() {
310b28a5538SAdam Hornacek         return null;
311b28a5538SAdam Hornacek     }
312b28a5538SAdam Hornacek 
313b28a5538SAdam Hornacek     @Override
getPart(String s)314b28a5538SAdam Hornacek     public Part getPart(String s) {
315b28a5538SAdam Hornacek         return null;
316b28a5538SAdam Hornacek     }
317b28a5538SAdam Hornacek 
318b28a5538SAdam Hornacek     @Override
upgrade(Class<T> aClass)319b28a5538SAdam Hornacek     public <T extends HttpUpgradeHandler> T upgrade(Class<T> aClass) {
320b28a5538SAdam Hornacek         return null;
321b28a5538SAdam Hornacek     }
322b28a5538SAdam Hornacek 
323b28a5538SAdam Hornacek     @Override
getAttribute(String string)324b28a5538SAdam Hornacek     public Object getAttribute(String string) {
325b28a5538SAdam Hornacek         return attrs.get(string);
326b28a5538SAdam Hornacek     }
327b28a5538SAdam Hornacek 
328b28a5538SAdam Hornacek     @Override
getAttributeNames()329b28a5538SAdam Hornacek     public Enumeration<String> getAttributeNames() {
330b28a5538SAdam Hornacek         return Collections.enumeration(attrs.keySet());
331b28a5538SAdam Hornacek     }
332b28a5538SAdam Hornacek 
333b28a5538SAdam Hornacek     @Override
getCharacterEncoding()334b28a5538SAdam Hornacek     public String getCharacterEncoding() {
335b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
336b28a5538SAdam Hornacek     }
337b28a5538SAdam Hornacek 
338b28a5538SAdam Hornacek     @Override
setCharacterEncoding(String string)339b28a5538SAdam Hornacek     public void setCharacterEncoding(String string) throws UnsupportedEncodingException {
340b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
341b28a5538SAdam Hornacek     }
342b28a5538SAdam Hornacek 
343b28a5538SAdam Hornacek     @Override
getContentLength()344b28a5538SAdam Hornacek     public int getContentLength() {
345b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
346b28a5538SAdam Hornacek     }
347b28a5538SAdam Hornacek 
348b28a5538SAdam Hornacek     @Override
getContentLengthLong()349b28a5538SAdam Hornacek     public long getContentLengthLong() {
350b28a5538SAdam Hornacek         return 0;
351b28a5538SAdam Hornacek     }
352b28a5538SAdam Hornacek 
353b28a5538SAdam Hornacek     @Override
getContentType()354b28a5538SAdam Hornacek     public String getContentType() {
355b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
356b28a5538SAdam Hornacek     }
357b28a5538SAdam Hornacek 
358b28a5538SAdam Hornacek     @Override
getInputStream()359b28a5538SAdam Hornacek     public ServletInputStream getInputStream() throws IOException {
360b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
361b28a5538SAdam Hornacek     }
362b28a5538SAdam Hornacek 
363b28a5538SAdam Hornacek     @Override
getParameter(String string)364b28a5538SAdam Hornacek     public String getParameter(String string) {
365b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
366b28a5538SAdam Hornacek     }
367b28a5538SAdam Hornacek 
368b28a5538SAdam Hornacek     @Override
getParameterNames()369b28a5538SAdam Hornacek     public Enumeration<String> getParameterNames() {
370b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
371b28a5538SAdam Hornacek     }
372b28a5538SAdam Hornacek 
373b28a5538SAdam Hornacek     @Override
getParameterValues(String string)374b28a5538SAdam Hornacek     public String[] getParameterValues(String string) {
375b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
376b28a5538SAdam Hornacek     }
377b28a5538SAdam Hornacek 
378b28a5538SAdam Hornacek     @Override
getParameterMap()379b28a5538SAdam Hornacek     public Map<String, String[]> getParameterMap() {
380b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
381b28a5538SAdam Hornacek     }
382b28a5538SAdam Hornacek 
383b28a5538SAdam Hornacek     @Override
getProtocol()384b28a5538SAdam Hornacek     public String getProtocol() {
385b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
386b28a5538SAdam Hornacek     }
387b28a5538SAdam Hornacek 
388b28a5538SAdam Hornacek     @Override
getScheme()389b28a5538SAdam Hornacek     public String getScheme() {
390b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
391b28a5538SAdam Hornacek     }
392b28a5538SAdam Hornacek 
393b28a5538SAdam Hornacek     @Override
getServerName()394b28a5538SAdam Hornacek     public String getServerName() {
395b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
396b28a5538SAdam Hornacek     }
397b28a5538SAdam Hornacek 
398b28a5538SAdam Hornacek     @Override
getServerPort()399b28a5538SAdam Hornacek     public int getServerPort() {
400b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
401b28a5538SAdam Hornacek     }
402b28a5538SAdam Hornacek 
403b28a5538SAdam Hornacek     @Override
getReader()404b28a5538SAdam Hornacek     public BufferedReader getReader() throws IOException {
405b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
406b28a5538SAdam Hornacek     }
407b28a5538SAdam Hornacek 
408b28a5538SAdam Hornacek     @Override
getRemoteAddr()409b28a5538SAdam Hornacek     public String getRemoteAddr() {
410b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
411b28a5538SAdam Hornacek     }
412b28a5538SAdam Hornacek 
413b28a5538SAdam Hornacek     @Override
getRemoteHost()414b28a5538SAdam Hornacek     public String getRemoteHost() {
415b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
416b28a5538SAdam Hornacek     }
417b28a5538SAdam Hornacek 
418b28a5538SAdam Hornacek     @Override
setAttribute(String name, Object o)419b28a5538SAdam Hornacek     public void setAttribute(String name, Object o) {
420b28a5538SAdam Hornacek         attrs.put(name, o);
421b28a5538SAdam Hornacek     }
422b28a5538SAdam Hornacek 
423b28a5538SAdam Hornacek     @Override
removeAttribute(String name)424b28a5538SAdam Hornacek     public void removeAttribute(String name) {
425b28a5538SAdam Hornacek         attrs.remove(name);
426b28a5538SAdam Hornacek     }
427b28a5538SAdam Hornacek 
428b28a5538SAdam Hornacek     @Override
getLocale()429b28a5538SAdam Hornacek     public Locale getLocale() {
430b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
431b28a5538SAdam Hornacek     }
432b28a5538SAdam Hornacek 
433b28a5538SAdam Hornacek     @Override
getLocales()434b28a5538SAdam Hornacek     public Enumeration<Locale> getLocales() {
435b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
436b28a5538SAdam Hornacek     }
437b28a5538SAdam Hornacek 
438b28a5538SAdam Hornacek     @Override
isSecure()439b28a5538SAdam Hornacek     public boolean isSecure() {
440b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
441b28a5538SAdam Hornacek     }
442b28a5538SAdam Hornacek 
443b28a5538SAdam Hornacek     @Override
getRequestDispatcher(String string)444b28a5538SAdam Hornacek     public RequestDispatcher getRequestDispatcher(String string) {
445b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
446b28a5538SAdam Hornacek     }
447b28a5538SAdam Hornacek 
448b28a5538SAdam Hornacek     @Override
449b28a5538SAdam Hornacek     @Deprecated
getRealPath(String string)450b28a5538SAdam Hornacek     public String getRealPath(String string) {
451b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
452b28a5538SAdam Hornacek     }
453b28a5538SAdam Hornacek 
454b28a5538SAdam Hornacek     @Override
getRemotePort()455b28a5538SAdam Hornacek     public int getRemotePort() {
456b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
457b28a5538SAdam Hornacek     }
458b28a5538SAdam Hornacek 
459b28a5538SAdam Hornacek     @Override
getLocalName()460b28a5538SAdam Hornacek     public String getLocalName() {
461b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
462b28a5538SAdam Hornacek     }
463b28a5538SAdam Hornacek 
464b28a5538SAdam Hornacek     @Override
getLocalAddr()465b28a5538SAdam Hornacek     public String getLocalAddr() {
466b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
467b28a5538SAdam Hornacek     }
468b28a5538SAdam Hornacek 
469b28a5538SAdam Hornacek     @Override
getLocalPort()470b28a5538SAdam Hornacek     public int getLocalPort() {
471b28a5538SAdam Hornacek         throw new UnsupportedOperationException("Not supported yet.");
472b28a5538SAdam Hornacek     }
473b28a5538SAdam Hornacek 
474b28a5538SAdam Hornacek     @Override
getServletContext()475b28a5538SAdam Hornacek     public ServletContext getServletContext() {
476b28a5538SAdam Hornacek         return null;
477b28a5538SAdam Hornacek     }
478b28a5538SAdam Hornacek 
479b28a5538SAdam Hornacek     @Override
startAsync()480b28a5538SAdam Hornacek     public AsyncContext startAsync() throws IllegalStateException {
481b28a5538SAdam Hornacek         return null;
482b28a5538SAdam Hornacek     }
483b28a5538SAdam Hornacek 
484b28a5538SAdam Hornacek     @Override
startAsync(ServletRequest servletRequest, ServletResponse servletResponse)485b28a5538SAdam Hornacek     public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) throws IllegalStateException {
486b28a5538SAdam Hornacek         return null;
487b28a5538SAdam Hornacek     }
488b28a5538SAdam Hornacek 
489b28a5538SAdam Hornacek     @Override
isAsyncStarted()490b28a5538SAdam Hornacek     public boolean isAsyncStarted() {
491b28a5538SAdam Hornacek         return false;
492b28a5538SAdam Hornacek     }
493b28a5538SAdam Hornacek 
494b28a5538SAdam Hornacek     @Override
isAsyncSupported()495b28a5538SAdam Hornacek     public boolean isAsyncSupported() {
496b28a5538SAdam Hornacek         return false;
497b28a5538SAdam Hornacek     }
498b28a5538SAdam Hornacek 
499b28a5538SAdam Hornacek     @Override
getAsyncContext()500b28a5538SAdam Hornacek     public AsyncContext getAsyncContext() {
501b28a5538SAdam Hornacek         return null;
502b28a5538SAdam Hornacek     }
503b28a5538SAdam Hornacek 
504b28a5538SAdam Hornacek     @Override
getDispatcherType()505b28a5538SAdam Hornacek     public DispatcherType getDispatcherType() {
506b28a5538SAdam Hornacek         return null;
507b28a5538SAdam Hornacek     }
508b28a5538SAdam Hornacek }
509