@@ -44,6 +44,7 @@ public class AuditMessagePredicate implements Predicate<AuditMessage> {
44
44
private final String effectiveUser ;
45
45
private final String index ;
46
46
private final String privilege ;
47
+ private final String requestBody ;
47
48
48
49
private AuditMessagePredicate (
49
50
AuditCategory category ,
@@ -55,7 +56,8 @@ private AuditMessagePredicate(
55
56
String transportRequestType ,
56
57
String effectiveUser ,
57
58
String index ,
58
- String privilege
59
+ String privilege ,
60
+ String requestBody
59
61
) {
60
62
this .category = category ;
61
63
this .requestLayer = requestLayer ;
@@ -67,10 +69,11 @@ private AuditMessagePredicate(
67
69
this .effectiveUser = effectiveUser ;
68
70
this .index = index ;
69
71
this .privilege = privilege ;
72
+ this .requestBody = requestBody ;
70
73
}
71
74
72
75
private AuditMessagePredicate (AuditCategory category ) {
73
- this (category , null , null , null , null , null , null , null , null , null );
76
+ this (category , null , null , null , null , null , null , null , null , null , null );
74
77
}
75
78
76
79
public static AuditMessagePredicate auditPredicate (AuditCategory category ) {
@@ -120,7 +123,8 @@ public AuditMessagePredicate withLayer(Origin layer) {
120
123
transportRequestType ,
121
124
effectiveUser ,
122
125
index ,
123
- privilege
126
+ privilege ,
127
+ requestBody
124
128
);
125
129
}
126
130
@@ -135,7 +139,8 @@ public AuditMessagePredicate withRequestPath(String path) {
135
139
transportRequestType ,
136
140
effectiveUser ,
137
141
index ,
138
- privilege
142
+ privilege ,
143
+ requestBody
139
144
);
140
145
}
141
146
@@ -150,7 +155,8 @@ public AuditMessagePredicate withRestParams(Map<String, String> params) {
150
155
transportRequestType ,
151
156
effectiveUser ,
152
157
index ,
153
- privilege
158
+ privilege ,
159
+ requestBody
154
160
);
155
161
}
156
162
@@ -165,7 +171,8 @@ public AuditMessagePredicate withInitiatingUser(String user) {
165
171
transportRequestType ,
166
172
effectiveUser ,
167
173
index ,
168
- privilege
174
+ privilege ,
175
+ requestBody
169
176
);
170
177
}
171
178
@@ -184,7 +191,8 @@ public AuditMessagePredicate withRestMethod(Method method) {
184
191
transportRequestType ,
185
192
effectiveUser ,
186
193
index ,
187
- privilege
194
+ privilege ,
195
+ requestBody
188
196
);
189
197
}
190
198
@@ -199,7 +207,8 @@ public AuditMessagePredicate withTransportRequestType(String type) {
199
207
type ,
200
208
effectiveUser ,
201
209
index ,
202
- privilege
210
+ privilege ,
211
+ requestBody
203
212
);
204
213
}
205
214
@@ -214,7 +223,8 @@ public AuditMessagePredicate withEffectiveUser(String user) {
214
223
transportRequestType ,
215
224
user ,
216
225
index ,
217
- privilege
226
+ privilege ,
227
+ requestBody
218
228
);
219
229
}
220
230
@@ -237,7 +247,8 @@ public AuditMessagePredicate withIndex(String indexName) {
237
247
transportRequestType ,
238
248
effectiveUser ,
239
249
indexName ,
240
- privilege
250
+ privilege ,
251
+ requestBody
241
252
);
242
253
}
243
254
@@ -252,7 +263,24 @@ public AuditMessagePredicate withPrivilege(String privilegeAction) {
252
263
transportRequestType ,
253
264
effectiveUser ,
254
265
index ,
255
- privilegeAction
266
+ privilegeAction ,
267
+ requestBody
268
+ );
269
+ }
270
+
271
+ public Predicate <AuditMessage > withRequestBody (String body ) {
272
+ return new AuditMessagePredicate (
273
+ category ,
274
+ requestLayer ,
275
+ restRequestPath ,
276
+ restParams ,
277
+ initiatingUser ,
278
+ requestMethod ,
279
+ transportRequestType ,
280
+ effectiveUser ,
281
+ index ,
282
+ privilege ,
283
+ body
256
284
);
257
285
}
258
286
@@ -269,6 +297,7 @@ public boolean test(AuditMessage auditMessage) {
269
297
predicates .add (audit -> Objects .isNull (effectiveUser ) || effectiveUser .equals (audit .getEffectiveUser ()));
270
298
predicates .add (audit -> Objects .isNull (index ) || containIndex (audit , index ));
271
299
predicates .add (audit -> Objects .isNull (privilege ) || privilege .equals (audit .getPrivilege ()));
300
+ predicates .add (audit -> Objects .isNull (requestBody ) || requestBody .equals (audit .getRequestBody ()));
272
301
return predicates .stream ().reduce (Predicate ::and ).orElseThrow ().test (auditMessage );
273
302
}
274
303
@@ -303,4 +332,5 @@ public String toString() {
303
332
+ '\''
304
333
+ '}' ;
305
334
}
335
+
306
336
}
0 commit comments