This article contains PHP code and is intended for developers. We offer this code as a courtesy, but don't provide support for code customizations or 3rd party development.
This hook allows you to do something with the request returned after an API call.
Usage
add_filter( 'frm_api_request_args', 'my_custom_function', 10, 2 ); function my_custom_frm_api_request_header( $arg_array, $args )
Parameters
- $arg_array
- $args (array)
Examples
Customize API request headers
Use the following code to customize the headers sent with your API request.
add_filter( 'frm_api_request_args', 'my_custom_frm_api_request_header', 10, 2 );
function my_custom_frm_api_request_header( $arg_array, $args ) {
if ( $args['url'] == 'http://test.com' ) { // the full url where the request is being sent
$arg_array['headers']['my_header_name'] = 'my_header_value';
$arg_array['headers']['another_header_name'] = 'a_header_value';
}
return $arg_array;
}
The existing headers include 'url', 'headers', 'body', 'method', and 'timeout'.
See WP_Http::request() for default arguments information.
Convert a meta value to an int
Use the following code to convert a specific owner_id meta value to an integer when sending API data.
add_filter( 'frm_api_request_args', 'my_custom_function' );
function my_custom_function( $args ) {
$body = json_decode( $args['body'], true );
if ( isset( $body['owner_id'] ) ) {
$body['owner_id'] = (int) $body['owner_id'];
$args['body'] = json_encode( $body );
}
return $args;
}
Increase timeout for API actions
By default, there is a 15 second timeout for API actions. To increase the timeout for API actions, use the following code example.
add_filter( 'frm_api_request_args', 'extend_api_timeout' );
function extend_api_timeout( $args ) {
$args['timeout'] = 30; // change this
return $args;
}
Add HTTP Referer to API request header
Use this code example to take the referer value for the request and pass it in the API request headers.
add_filter( 'frm_api_request_args', 'my_custom_frm_api_request_header', 10, 2 );
function my_custom_frm_api_request_header( $arg_array, $args ) {
$arg_array['headers']['Referer'] = FrmAppHelper::get_server_value( 'HTTP_REFERER' );
return $arg_array;
}
This example is basic and adds the referrer to the header for all API action requests. You can also add a check for $args['url'].