1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  
17  package org.apache.commons.fileupload;
18  
19  import java.io.BufferedReader;
20  import java.io.ByteArrayInputStream;
21  import java.io.IOException;
22  import java.io.InputStream;
23  import java.io.UnsupportedEncodingException;
24  import java.security.Principal;
25  import java.util.Enumeration;
26  import java.util.Locale;
27  import java.util.Map;
28  
29  import javax.servlet.RequestDispatcher;
30  import javax.servlet.ServletInputStream;
31  import javax.servlet.http.Cookie;
32  import javax.servlet.http.HttpServletRequest;
33  import javax.servlet.http.HttpSession;
34  
35  public class MockHttpServletRequest implements HttpServletRequest {
36  
37      private final InputStream m_requestData;
38  
39      private long length;
40  
41      private final String m_strContentType;
42  
43      private int readLimit = -1;
44  
45      private final Map<String, String> m_headers = new java.util.HashMap<String, String>();
46  
47      
48  
49  
50  
51      public MockHttpServletRequest(
52              final byte[] requestData,
53              final String strContentType) {
54          this(new ByteArrayInputStream(requestData),
55                  requestData.length, strContentType);
56      }
57  
58      
59  
60  
61  
62      public MockHttpServletRequest(
63              final InputStream requestData,
64              final long requestLength,
65              final String strContentType) {
66          m_requestData = requestData;
67          length = requestLength;
68          m_strContentType = strContentType;
69          m_headers.put(FileUploadBase.CONTENT_TYPE, strContentType);
70      }
71  
72      
73  
74  
75      @Override
76      public String getAuthType() {
77          return null;
78      }
79  
80      
81  
82  
83      @Override
84      public Cookie[] getCookies() {
85          return null;
86      }
87  
88      
89  
90  
91      @Override
92      public long getDateHeader(String arg0) {
93          return 0;
94      }
95  
96      
97  
98  
99      @Override
100     public String getHeader(String headerName) {
101         return m_headers.get(headerName);
102     }
103 
104     
105 
106 
107     @Override
108     public Enumeration<String> getHeaders(String arg0) {
109         
110         return null;
111     }
112 
113     
114 
115 
116     @Override
117     public Enumeration<String> getHeaderNames() {
118         
119         return null;
120     }
121 
122     
123 
124 
125     @Override
126     public int getIntHeader(String arg0) {
127         return 0;
128     }
129 
130     
131 
132 
133     @Override
134     public String getMethod() {
135         return null;
136     }
137 
138     
139 
140 
141     @Override
142     public String getPathInfo() {
143         return null;
144     }
145 
146     
147 
148 
149     @Override
150     public String getPathTranslated() {
151         return null;
152     }
153 
154     
155 
156 
157     @Override
158     public String getContextPath() {
159         return null;
160     }
161 
162     
163 
164 
165     @Override
166     public String getQueryString() {
167         return null;
168     }
169 
170     
171 
172 
173     @Override
174     public String getRemoteUser() {
175         return null;
176     }
177 
178     
179 
180 
181     @Override
182     public boolean isUserInRole(String arg0) {
183         return false;
184     }
185 
186     
187 
188 
189     @Override
190     public Principal getUserPrincipal() {
191         return null;
192     }
193 
194     
195 
196 
197     @Override
198     public String getRequestedSessionId() {
199         return null;
200     }
201 
202     
203 
204 
205     @Override
206     public String getRequestURI() {
207         return null;
208     }
209 
210     
211 
212 
213     @Override
214     public StringBuffer getRequestURL() {
215         return null;
216     }
217 
218     
219 
220 
221     @Override
222     public String getServletPath() {
223         return null;
224     }
225 
226     
227 
228 
229     @Override
230     public HttpSession getSession(boolean arg0) {
231         return null;
232     }
233 
234     
235 
236 
237     @Override
238     public HttpSession getSession() {
239         return null;
240     }
241 
242     
243 
244 
245     @Override
246     public boolean isRequestedSessionIdValid() {
247         return false;
248     }
249 
250     
251 
252 
253     @Override
254     public boolean isRequestedSessionIdFromCookie() {
255         return false;
256     }
257 
258     
259 
260 
261     @Override
262     public boolean isRequestedSessionIdFromURL() {
263         return false;
264     }
265 
266     
267 
268 
269 
270     @Override
271     @Deprecated
272     public boolean isRequestedSessionIdFromUrl() {
273         return false;
274     }
275 
276     
277 
278 
279     @Override
280     public Object getAttribute(String arg0) {
281         return null;
282     }
283 
284     
285 
286 
287     @Override
288     public Enumeration<String> getAttributeNames() {
289         return null;
290     }
291 
292     
293 
294 
295     @Override
296     public String getCharacterEncoding() {
297         return null;
298     }
299 
300     
301 
302 
303     @Override
304     public void setCharacterEncoding(String arg0)
305         throws UnsupportedEncodingException {
306     }
307 
308     
309 
310 
311     @Override
312     public int getContentLength() {
313         int iLength = 0;
314 
315         if (null == m_requestData) {
316             iLength = -1;
317         } else {
318             if (length > Integer.MAX_VALUE) {
319                 throw new RuntimeException("Value '" + length + "' is too large to be converted to int");
320             }
321             iLength = (int) length;
322         }
323         return iLength;
324     }
325 
326     
327 
328 
329     public void setContentLength(long length) {
330         this.length = length;
331     }
332 
333     
334 
335 
336     @Override
337     public String getContentType() {
338         return m_strContentType;
339     }
340 
341     
342 
343 
344     @Override
345     public ServletInputStream getInputStream() throws IOException {
346         ServletInputStream sis = new MyServletInputStream(m_requestData, readLimit);
347         return sis;
348     }
349 
350     
351 
352 
353 
354 
355     public void setReadLimit(int readLimit) {
356         this.readLimit = readLimit;
357     }
358 
359     
360 
361 
362     @Override
363     public String getParameter(String arg0) {
364         return null;
365     }
366 
367     
368 
369 
370     @Override
371     public Enumeration<String> getParameterNames() {
372         return null;
373     }
374 
375     
376 
377 
378     @Override
379     public String[] getParameterValues(String arg0) {
380         return null;
381     }
382 
383     
384 
385 
386     @Override
387     public Map<String, String[]> getParameterMap() {
388         return null;
389     }
390 
391     
392 
393 
394     @Override
395     public String getProtocol() {
396         return null;
397     }
398 
399     
400 
401 
402     @Override
403     public String getScheme() {
404         return null;
405     }
406 
407     
408 
409 
410     @Override
411     public String getServerName() {
412         return null;
413     }
414 
415     
416 
417 
418     @Override
419     @SuppressWarnings("javadoc") 
420     public String getLocalName() {
421         return null;
422     }
423 
424     
425 
426 
427     @Override
428     public int getServerPort() {
429         return 0;
430     }
431 
432     
433 
434 
435     @Override
436     @SuppressWarnings("javadoc") 
437     public int getLocalPort() {
438         return 0;
439     }
440 
441     
442 
443 
444     @Override
445     @SuppressWarnings("javadoc") 
446     public int getRemotePort() {
447         return 0;
448     }
449 
450     
451 
452 
453     @Override
454     public BufferedReader getReader() throws IOException {
455         return null;
456     }
457 
458     
459 
460 
461     @Override
462     public String getRemoteAddr() {
463         return null;
464     }
465 
466     
467 
468 
469     @Override
470     @SuppressWarnings("javadoc") 
471     public String getLocalAddr() {
472         return null;
473     }
474 
475     
476 
477 
478     @Override
479     public String getRemoteHost() {
480         return null;
481     }
482 
483     
484 
485 
486     @Override
487     public void setAttribute(String arg0, Object arg1) {
488     }
489 
490     
491 
492 
493     @Override
494     public void removeAttribute(String arg0) {
495     }
496 
497     
498 
499 
500     @Override
501     public Locale getLocale() {
502         return null;
503     }
504 
505     
506 
507 
508     @Override
509     public Enumeration<Locale> getLocales() {
510         return null;
511     }
512 
513     
514 
515 
516     @Override
517     public boolean isSecure() {
518         return false;
519     }
520 
521     
522 
523 
524     @Override
525     public RequestDispatcher getRequestDispatcher(String arg0) {
526         return null;
527     }
528 
529     
530 
531 
532 
533     @Override
534     @Deprecated
535     public String getRealPath(String arg0) {
536         return null;
537     }
538 
539     private static class MyServletInputStream
540         extends javax.servlet.ServletInputStream {
541 
542         private final InputStream in;
543         private final int readLimit;
544 
545         
546 
547 
548 
549         public MyServletInputStream(InputStream pStream, int readLimit) {
550             in = pStream;
551             this.readLimit = readLimit;
552         }
553 
554         @Override
555         public int read() throws IOException {
556             return in.read();
557         }
558 
559         @Override
560         public int read(byte b[], int off, int len) throws IOException {
561             if (readLimit > 0) {
562                 return in.read(b, off, Math.min(readLimit, len));
563             }
564             return in.read(b, off, len);
565         }
566 
567     }
568 
569 }