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