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