WC_Connect_Loader::rest_api_init PHP Method

rest_api_init() public method

Hook the REST API Note that we cannot load our controller until this time, because prior to rest_api_init firing, WP_REST_Controller is not yet defined
public rest_api_init ( )
        public function rest_api_init()
        {
            $schemas_store = $this->get_service_schemas_store();
            $settings_store = $this->get_service_settings_store();
            $logger = $this->get_logger();
            //////////////////////////////////////////////////////////////////////////////
            // TODO - Remove this when woocommerce/pull/10435 lands
            if (!class_exists('WP_REST_Controller')) {
                include_once plugin_basename('vendor/class-wp-rest-controller.php');
            }
            //////////////////////////////////////////////////////////////////////////////
            if (!class_exists('WP_REST_Controller')) {
                $this->logger->log('Error. WP_REST_Controller could not be found', __FUNCTION__);
                return;
            }
            require_once plugin_basename('classes/class-wc-rest-connect-packages-controller.php');
            $rest_packages_controller = new WC_REST_Connect_Packages_Controller($settings_store, $logger);
            $this->set_rest_packages_controller($rest_packages_controller);
            $rest_packages_controller->register_routes();
            require_once plugin_basename('classes/class-wc-rest-connect-account-settings-controller.php');
            $rest_account_settings_controller = new WC_REST_Connect_Account_Settings_Controller($this->api_client, $settings_store, $logger);
            $this->set_rest_account_settings_controller($rest_account_settings_controller);
            $rest_account_settings_controller->register_routes();
            require_once plugin_basename('classes/class-wc-rest-connect-services-controller.php');
            $rest_services_controller = new WC_REST_Connect_Services_Controller($schemas_store, $settings_store, $logger);
            $this->set_rest_services_controller($rest_services_controller);
            $rest_services_controller->register_routes();
            require_once plugin_basename('classes/class-wc-rest-connect-self-help-controller.php');
            $rest_self_help_controller = new WC_REST_Connect_Self_Help_Controller($logger);
            $this->set_rest_self_help_controller($rest_self_help_controller);
            $rest_self_help_controller->register_routes();
            require_once plugin_basename('classes/class-wc-rest-connect-shipping-label-controller.php');
            $rest_shipping_label_controller = new WC_REST_Connect_Shipping_Label_Controller($this->api_client, $settings_store, $logger);
            $this->set_rest_shipping_label_controller($rest_shipping_label_controller);
            $rest_shipping_label_controller->register_routes();
            require_once plugin_basename('classes/class-wc-rest-connect-shipping-label-status-controller.php');
            $rest_shipping_label_status_controller = new WC_REST_Connect_Shipping_Label_Status_Controller($this->api_client, $settings_store, $logger);
            $this->set_rest_shipping_label_status_controller($rest_shipping_label_status_controller);
            $rest_shipping_label_status_controller->register_routes();
            require_once plugin_basename('classes/class-wc-rest-connect-shipping-label-refund-controller.php');
            $rest_shipping_label_refund_controller = new WC_REST_Connect_Shipping_Label_Refund_Controller($this->api_client, $settings_store, $logger);
            $this->set_rest_shipping_label_refund_controller($rest_shipping_label_refund_controller);
            $rest_shipping_label_refund_controller->register_routes();
            require_once plugin_basename('classes/class-wc-rest-connect-shipping-labels-preview-controller.php');
            $rest_shipping_labels_preview_controller = new WC_REST_Connect_Shipping_Labels_Preview_Controller($this->api_client, $settings_store, $logger);
            $this->set_rest_shipping_labels_preview_controller($rest_shipping_labels_preview_controller);
            $rest_shipping_labels_preview_controller->register_routes();
            require_once plugin_basename('classes/class-wc-rest-connect-shipping-labels-print-controller.php');
            $rest_shipping_labels_print_controller = new WC_REST_Connect_Shipping_Labels_Print_Controller($this->api_client, $settings_store, $logger);
            $this->set_rest_shipping_labels_print_controller($rest_shipping_labels_print_controller);
            $rest_shipping_labels_print_controller->register_routes();
            require_once plugin_basename('classes/class-wc-rest-connect-shipping-rates-controller.php');
            $rest_shipping_rates_controller = new WC_REST_Connect_Shipping_Rates_Controller($this->api_client, $settings_store, $logger);
            $this->set_rest_shipping_rates_controller($rest_shipping_rates_controller);
            $rest_shipping_rates_controller->register_routes();
            require_once plugin_basename('classes/class-wc-rest-connect-address-normalization-controller.php');
            $rest_address_normalization_controller = new WC_REST_Connect_Address_Normalization_Controller($this->api_client, $settings_store, $logger);
            $this->set_rest_address_normalization_controller($rest_address_normalization_controller);
            $rest_address_normalization_controller->register_routes();
        }
WC_Connect_Loader