1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.springframework.security.intercept.web;
17
18 import org.springframework.security.util.UrlUtils;
19
20 import javax.servlet.FilterChain;
21 import javax.servlet.ServletRequest;
22 import javax.servlet.ServletResponse;
23 import javax.servlet.http.HttpServletRequest;
24 import javax.servlet.http.HttpServletResponse;
25
26
27
28
29
30
31
32
33
34
35
36
37
38 public class FilterInvocation {
39
40
41 private FilterChain chain;
42 private ServletRequest request;
43 private ServletResponse response;
44
45
46
47 public FilterInvocation(ServletRequest request, ServletResponse response, FilterChain chain) {
48 if ((request == null) || (response == null) || (chain == null)) {
49 throw new IllegalArgumentException("Cannot pass null values to constructor");
50 }
51
52 if (!(request instanceof HttpServletRequest)) {
53 throw new IllegalArgumentException("Can only process HttpServletRequest");
54 }
55
56 if (!(response instanceof HttpServletResponse)) {
57 throw new IllegalArgumentException("Can only process HttpServletResponse");
58 }
59
60 this.request = request;
61 this.response = response;
62 this.chain = chain;
63 }
64
65
66
67 public FilterChain getChain() {
68 return chain;
69 }
70
71
72
73
74
75
76
77 public String getFullRequestUrl() {
78 return UrlUtils.getFullRequestUrl(this);
79 }
80
81 public HttpServletRequest getHttpRequest() {
82 return (HttpServletRequest) request;
83 }
84
85 public HttpServletResponse getHttpResponse() {
86 return (HttpServletResponse) response;
87 }
88
89 public ServletRequest getRequest() {
90 return request;
91 }
92
93
94
95
96
97
98 public String getRequestUrl() {
99 return UrlUtils.getRequestUrl(this);
100 }
101
102 public ServletResponse getResponse() {
103 return response;
104 }
105
106 public String toString() {
107 return "FilterInvocation: URL: " + getRequestUrl();
108 }
109 }