@@ -130,9 +130,9 @@ type AppsecConfig struct {
130
130
}
131
131
132
132
func (w * AppsecRuntimeConfig ) ClearResponse () {
133
- log .Debugf ("#-> %p" , w )
133
+ w . Logger .Debugf ("#-> %p" , w )
134
134
w .Response = AppsecTempResponse {}
135
- log .Debugf ("-> %p" , w .Config )
135
+ w . Logger .Debugf ("-> %p" , w .Config )
136
136
w .Response .Action = w .Config .DefaultPassAction
137
137
w .Response .HTTPResponseCode = w .Config .PassedHTTPCode
138
138
w .Response .SendEvent = true
@@ -290,20 +290,26 @@ func (w *AppsecRuntimeConfig) ProcessOnLoadRules() error {
290
290
switch t := output .(type ) {
291
291
case bool :
292
292
if ! t {
293
- log .Debugf ("filter didnt match" )
293
+ w . Logger .Debugf ("filter didnt match" )
294
294
continue
295
295
}
296
296
default :
297
- log .Errorf ("Filter must return a boolean, can't filter" )
297
+ w . Logger .Errorf ("Filter must return a boolean, can't filter" )
298
298
continue
299
299
}
300
300
}
301
301
for _ , applyExpr := range rule .ApplyExpr {
302
- _ , err := exprhelpers .Run (applyExpr , GetOnLoadEnv (w ), w .Logger , w .Logger .Level >= log .DebugLevel )
302
+ o , err := exprhelpers .Run (applyExpr , GetOnLoadEnv (w ), w .Logger , w .Logger .Level >= log .DebugLevel )
303
303
if err != nil {
304
- log .Errorf ("unable to apply appsec on_load expr: %s" , err )
304
+ w . Logger .Errorf ("unable to apply appsec on_load expr: %s" , err )
305
305
continue
306
306
}
307
+ switch t := o .(type ) {
308
+ case error :
309
+ w .Logger .Errorf ("unable to apply appsec on_load expr: %s" , t )
310
+ continue
311
+ default :
312
+ }
307
313
}
308
314
}
309
315
return nil
@@ -320,27 +326,33 @@ func (w *AppsecRuntimeConfig) ProcessOnMatchRules(request *ParsedRequest, evt ty
320
326
switch t := output .(type ) {
321
327
case bool :
322
328
if ! t {
323
- log .Debugf ("filter didnt match" )
329
+ w . Logger .Debugf ("filter didnt match" )
324
330
continue
325
331
}
326
332
default :
327
- log .Errorf ("Filter must return a boolean, can't filter" )
333
+ w . Logger .Errorf ("Filter must return a boolean, can't filter" )
328
334
continue
329
335
}
330
336
}
331
337
for _ , applyExpr := range rule .ApplyExpr {
332
- _ , err := exprhelpers .Run (applyExpr , GetOnMatchEnv (w , request , evt ), w .Logger , w .Logger .Level >= log .DebugLevel )
338
+ o , err := exprhelpers .Run (applyExpr , GetOnMatchEnv (w , request , evt ), w .Logger , w .Logger .Level >= log .DebugLevel )
333
339
if err != nil {
334
- log .Errorf ("unable to apply appsec on_match expr: %s" , err )
340
+ w . Logger .Errorf ("unable to apply appsec on_match expr: %s" , err )
335
341
continue
336
342
}
343
+ switch t := o .(type ) {
344
+ case error :
345
+ w .Logger .Errorf ("unable to apply appsec on_match expr: %s" , t )
346
+ continue
347
+ default :
348
+ }
337
349
}
338
350
}
339
351
return nil
340
352
}
341
353
342
354
func (w * AppsecRuntimeConfig ) ProcessPreEvalRules (request * ParsedRequest ) error {
343
- log .Debugf ("processing %d pre_eval rules" , len (w .CompiledPreEval ))
355
+ w . Logger .Debugf ("processing %d pre_eval rules" , len (w .CompiledPreEval ))
344
356
for _ , rule := range w .CompiledPreEval {
345
357
if rule .FilterExpr != nil {
346
358
output , err := exprhelpers .Run (rule .FilterExpr , GetPreEvalEnv (w , request ), w .Logger , w .Logger .Level >= log .DebugLevel )
@@ -350,20 +362,26 @@ func (w *AppsecRuntimeConfig) ProcessPreEvalRules(request *ParsedRequest) error
350
362
switch t := output .(type ) {
351
363
case bool :
352
364
if ! t {
353
- log .Debugf ("filter didnt match" )
365
+ w . Logger .Debugf ("filter didnt match" )
354
366
continue
355
367
}
356
368
default :
357
- log .Errorf ("Filter must return a boolean, can't filter" )
369
+ w . Logger .Errorf ("Filter must return a boolean, can't filter" )
358
370
continue
359
371
}
360
372
}
361
373
// here means there is no filter or the filter matched
362
374
for _ , applyExpr := range rule .ApplyExpr {
363
- _ , err := exprhelpers .Run (applyExpr , GetPreEvalEnv (w , request ), w .Logger , w .Logger .Level >= log .DebugLevel )
375
+ o , err := exprhelpers .Run (applyExpr , GetPreEvalEnv (w , request ), w .Logger , w .Logger .Level >= log .DebugLevel )
364
376
if err != nil {
365
- log .Errorf ("unable to apply appsec pre_eval expr: %s" , err )
377
+ w .Logger .Errorf ("unable to apply appsec pre_eval expr: %s" , err )
378
+ continue
379
+ }
380
+ switch t := o .(type ) {
381
+ case error :
382
+ w .Logger .Errorf ("unable to apply appsec pre_eval expr: %s" , t )
366
383
continue
384
+ default :
367
385
}
368
386
}
369
387
}
@@ -381,21 +399,29 @@ func (w *AppsecRuntimeConfig) ProcessPostEvalRules(request *ParsedRequest) error
381
399
switch t := output .(type ) {
382
400
case bool :
383
401
if ! t {
384
- log .Debugf ("filter didnt match" )
402
+ w . Logger .Debugf ("filter didnt match" )
385
403
continue
386
404
}
387
405
default :
388
- log .Errorf ("Filter must return a boolean, can't filter" )
406
+ w . Logger .Errorf ("Filter must return a boolean, can't filter" )
389
407
continue
390
408
}
391
409
}
392
410
// here means there is no filter or the filter matched
393
411
for _ , applyExpr := range rule .ApplyExpr {
394
- _ , err := exprhelpers .Run (applyExpr , GetPostEvalEnv (w , request ), w .Logger , w .Logger .Level >= log .DebugLevel )
412
+ o , err := exprhelpers .Run (applyExpr , GetPostEvalEnv (w , request ), w .Logger , w .Logger .Level >= log .DebugLevel )
413
+
395
414
if err != nil {
396
- log .Errorf ("unable to apply appsec post_eval expr: %s" , err )
415
+ w . Logger .Errorf ("unable to apply appsec post_eval expr: %s" , err )
397
416
continue
398
417
}
418
+
419
+ switch t := o .(type ) {
420
+ case error :
421
+ w .Logger .Errorf ("unable to apply appsec post_eval expr: %s" , t )
422
+ continue
423
+ default :
424
+ }
399
425
}
400
426
}
401
427
0 commit comments