Automattic\WooCommerce\StoreApi\Routes\V1

Batch::get_responsepublicWC 1.0

Get the route response.

Method of the class: Batch{}

No Hooks.

Returns

WP_REST_Response.

Usage

$Batch = new Batch();
$Batch->get_response( $request );
$request(WP_REST_Request) (required)
Request object.

Notes

Batch::get_response() code WC 10.7.0

public function get_response( WP_REST_Request $request ) {
	try {
		foreach ( $request['requests'] as $args ) {
			$parsed_path = wp_parse_url( $args['path'], PHP_URL_PATH );
			if ( ! $parsed_path || strpos( $parsed_path, '/wc/store' ) !== 0 ) {
				throw new RouteException( 'woocommerce_rest_invalid_path', __( 'Invalid path provided.', 'woocommerce' ), 400 );
			}
		}
		$response = rest_get_server()->serve_batch_request_v1( $request );
	} catch ( RouteException $error ) {
		$response = $this->get_route_error_response( $error->getErrorCode(), $error->getMessage(), $error->getCode(), $error->getAdditionalData() );
	} catch ( \Exception $error ) {
		$response = $this->get_route_error_response( 'woocommerce_rest_unknown_server_error', $error->getMessage(), 500 );
	}

	if ( is_wp_error( $response ) ) {
		$response = $this->error_to_response( $response );
	}

	$nonce = wp_create_nonce( 'wc_store_api' );

	$response->header( 'Nonce', $nonce );
	$response->header( 'Nonce-Timestamp', time() );
	$response->header( 'User-ID', get_current_user_id() );

	return $response;
}