Proxy_Controller::register_routes()

Summary

Init Proxy endpoints.


Return

(void)


Source

File: src/BigCommerce/Proxy/Proxy_Controller.php

	public function register_routes() {
		$public_args = [
			'methods'             => WP_REST_Server::READABLE,
			'callback'            => [ $this, 'get_items' ],
			'permission_callback' => [ $this, 'get_items_permissions_check' ],
		];

		/**
		 * Proxy for GET requests.
		 */
		register_rest_route( $this->proxy_base, '/catalog/.*', $public_args );
		register_rest_route( $this->proxy_base, '/channels(\/?.*?)', $public_args );

		register_rest_route(
			$this->proxy_base,
			'/carts(\/?$)',
			[
				[
					'methods'             => WP_REST_Server::CREATABLE,
					'callback'            => [ $this, 'create_cart' ],
					'permission_callback' => '__return_true',
				],
			]
		);
		register_rest_route(
			$this->proxy_base,
			'/carts/([^/]*\/?$)',
			[
				$public_args,
				[
					'methods'             => [ WP_REST_Server::DELETABLE, WP_REST_SERVER::CREATABLE ],
					'callback'            => [ $this, 'delete_cart' ],
					'permission_callback' => '__return_true',
				],
			]
		);
		register_rest_route(
			$this->proxy_base,
			'/carts/(.*)/items/(.*)',
			[
				[
					'methods'             => [ WP_REST_Server::DELETABLE, WP_REST_SERVER::CREATABLE ],
					'callback'            => [ $this, 'update_cart_item' ],
					'permission_callback' => '__return_true',
				],
			]
		);
		register_rest_route(
			$this->proxy_base,
			'/carts/(.*)/items',
			[
				[
					'methods'             => [ WP_REST_SERVER::CREATABLE ],
					'callback'            => [ $this, 'add_cart_items' ],
					'permission_callback' => '__return_true',
				],
			]
		);
		register_rest_route(
			$this->proxy_base,
			'/carts/(.*)/redirect_urls(\/?$)',
			[
				[
					'methods'             => WP_REST_Server::CREATABLE,
					'callback'            => [ $this, 'create_redirect_url' ],
					'permission_callback' => '__return_true',
				],
			]
		);
	}

User Contributed Notes

You must log in before being able to contribute a note or feedback.