@@ -474,12 +474,7 @@ static PHP_FUNCTION(datadog_appsec_push_address)
474
474
zval parameters_zv ;
475
475
zend_array * parameters_arr = zend_new_array (1 );
476
476
ZVAL_ARR (& parameters_zv , parameters_arr );
477
- zval * res = zend_hash_add (Z_ARRVAL (parameters_zv ), key , value );
478
- if (res == NULL ) {
479
- zval_ptr_dtor (& parameters_zv );
480
- mlog_g (dd_log_debug , "Parameters could not be added" );
481
- return ;
482
- }
477
+ zend_hash_add (Z_ARRVAL (parameters_zv ), key , value );
483
478
Z_TRY_ADDREF_P (value );
484
479
485
480
dd_conn * conn = dd_helper_mgr_cur_conn ();
@@ -489,13 +484,19 @@ static PHP_FUNCTION(datadog_appsec_push_address)
489
484
return ;
490
485
}
491
486
492
- dd_result result = dd_request_exec (conn , & parameters_zv );
487
+ dd_result res = dd_request_exec (conn , & parameters_zv );
493
488
zval_ptr_dtor (& parameters_zv );
494
489
495
- if (result == dd_should_block ) {
496
- dd_request_abort_static_page ();
497
- } else if (result == dd_should_redirect ) {
498
- dd_request_abort_redirect ();
490
+ if (dd_req_is_user_req ()) {
491
+ if (res == dd_should_block || res == dd_should_redirect ) {
492
+ dd_req_call_blocking_function (res );
493
+ }
494
+ } else {
495
+ if (res == dd_should_block ) {
496
+ dd_request_abort_static_page ();
497
+ } else if (res == dd_should_redirect ) {
498
+ dd_request_abort_redirect ();
499
+ }
499
500
}
500
501
}
501
502
0 commit comments