WC_API::handle_api_requests()
API request – Trigger any API requests.
Description Description
Source Source
File: includes/class-wc-api.php
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | public function handle_api_requests() { global $wp ; if ( ! empty ( $_GET [ 'wc-api' ] ) ) { // WPCS: input var okay, CSRF ok. $wp ->query_vars[ 'wc-api' ] = sanitize_key( wp_unslash( $_GET [ 'wc-api' ] ) ); // WPCS: input var okay, CSRF ok. } // wc-api endpoint requests. if ( ! empty ( $wp ->query_vars[ 'wc-api' ] ) ) { // Buffer, we won't want any output here. ob_start(); // No cache headers. wc_nocache_headers(); // Clean the API request. $api_request = strtolower ( wc_clean( $wp ->query_vars[ 'wc-api' ] ) ); // Make sure gateways are available for request. WC()->payment_gateways(); // Trigger generic action before request hook. do_action( 'woocommerce_api_request' , $api_request ); // Is there actually something hooked into this API request? If not trigger 400 - Bad request. status_header( has_action( 'woocommerce_api_' . $api_request ) ? 200 : 400 ); // Trigger an action which plugins can hook into to fulfill the request. do_action( 'woocommerce_api_' . $api_request ); // Done, clear buffer and exit. ob_end_clean(); die ( '-1' ); } } |
Changelog Changelog
Version | Description |
---|---|
2.0 | Introduced. |