@@ -78,22 +78,27 @@ public function before(
7878 string $ requestBody ,
7979 string $ requestDateTime
8080 ) {
81- if ($ this ->config ->isSecretMode ()) {
82- $ requestorIp = $ this ->secretParser ->parseIp ();
83- $ requestHeaders = $ this ->secretParser ->parseHeades ($ requestHeaders );
84- $ requestBody = $ this ->secretParser ->parseBody ($ requestBody );
85- }
81+ $ filter = $ this ->config ->getFilterRequestPaths ();
82+
83+ // Only log this request if the path is not filtered.
84+ if (!$ this ->filterRequestPath ($ requestPath , $ filter )) {
85+ if ($ this ->config ->isSecretMode ()) {
86+ $ requestorIp = $ this ->secretParser ->parseIp ();
87+ $ requestHeaders = $ this ->secretParser ->parseHeades ($ requestHeaders );
88+ $ requestBody = $ this ->secretParser ->parseBody ($ requestBody );
89+ }
8690
87- $ log = $ this ->logFactory ->create ();
88- $ log ->setData ([
89- 'request_method ' => $ requestMethod ,
90- 'requestor_ip ' => $ requestorIp ,
91- 'request_url ' => $ requestPath ,
92- 'request_headers ' => $ requestHeaders ,
93- 'request_body ' => $ requestBody ,
94- 'request_datetime ' => $ requestDateTime
95- ]);
96- $ this ->lastLog = $ log ;
91+ $ log = $ this ->logFactory ->create ();
92+ $ log ->setData ([
93+ 'request_method ' => $ requestMethod ,
94+ 'requestor_ip ' => $ requestorIp ,
95+ 'request_url ' => $ requestPath ,
96+ 'request_headers ' => $ requestHeaders ,
97+ 'request_body ' => $ requestBody ,
98+ 'request_datetime ' => $ requestDateTime
99+ ]);
100+ $ this ->lastLog = $ log ;
101+ }
97102 }
98103
99104 /**
@@ -123,4 +128,26 @@ public function after(
123128 $ this ->logger ->error (__ ('Cant complete webapi log save because of error: %1 ' , $ exception ->getMessage ()));
124129 }
125130 }
131+
132+ /**
133+ * Check if request path is among the filters.
134+ *
135+ * @param string $requestPath
136+ * @param array $filters
137+ *
138+ * @return bool
139+ */
140+ private function filterRequestPath (
141+ string $ requestPath ,
142+ array $ filters
143+ ): bool {
144+ foreach ($ filters as $ filter ) {
145+ if ($ filter != '' ) {
146+ if (stripos ($ requestPath , $ filter ) !== false ) {
147+ return true ;
148+ }
149+ }
150+ }
151+ return false ;
152+ }
126153}
0 commit comments