Automattic\WooCommerce\StoreApi\Routes\V1

AbstractCartRoute::get_response()publicWC 1.0

Get the route response based on the type of request.

Method of the class: AbstractCartRoute{}

No Hooks.

Return

\WP_REST_Response.

Usage

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

AbstractCartRoute::get_response() code WC 8.7.0

public function get_response( \WP_REST_Request $request ) {
	$this->load_cart_session( $request );
	$this->cart_controller->calculate_totals();

	$response    = null;
	$nonce_check = $this->requires_nonce( $request ) ? $this->check_nonce( $request ) : null;

	if ( is_wp_error( $nonce_check ) ) {
		$response = $nonce_check;
	}

	if ( ! $response ) {
		try {
			$response = $this->get_response_by_request_method( $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 );
		}
	}

	// For update requests, this will recalculate cart totals and sync draft orders with the current cart.
	if ( $this->is_update_request( $request ) ) {
		$this->cart_updated( $request );
	}

	// Format error responses.
	if ( is_wp_error( $response ) ) {
		$response = $this->error_to_response( $response );
	}

	return $this->add_response_headers( rest_ensure_response( $response ) );
}