WPCOM_JSON_API_Endpoint::__construct PHP Method

__construct() public method

public __construct ( $args )
    function __construct($args)
    {
        $defaults = array('in_testing' => false, 'allowed_if_flagged' => false, 'allowed_if_red_flagged' => false, 'description' => '', 'group' => '', 'method' => 'GET', 'path' => '/', 'min_version' => '0', 'max_version' => WPCOM_JSON_API__CURRENT_VERSION, 'force' => '', 'deprecated' => false, 'new_version' => WPCOM_JSON_API__CURRENT_VERSION, 'jp_disabled' => false, 'path_labels' => array(), 'request_format' => array(), 'response_format' => array(), 'query_parameters' => array(), 'version' => 'v1', 'example_request' => '', 'example_request_data' => '', 'example_response' => '', 'required_scope' => '', 'pass_wpcom_user_details' => false, 'custom_fields_filtering' => false, 'allow_cross_origin_request' => false, 'allow_unauthorized_request' => false, 'allow_jetpack_site_auth' => false);
        $args = wp_parse_args($args, $defaults);
        $this->in_testing = $args['in_testing'];
        $this->allowed_if_flagged = $args['allowed_if_flagged'];
        $this->allowed_if_red_flagged = $args['allowed_if_red_flagged'];
        $this->description = $args['description'];
        $this->group = $args['group'];
        $this->stat = $args['stat'];
        $this->force = $args['force'];
        $this->jp_disabled = $args['jp_disabled'];
        $this->method = $args['method'];
        $this->path = $args['path'];
        $this->path_labels = $args['path_labels'];
        $this->min_version = $args['min_version'];
        $this->max_version = $args['max_version'];
        $this->deprecated = $args['deprecated'];
        $this->new_version = $args['new_version'];
        $this->pass_wpcom_user_details = $args['pass_wpcom_user_details'];
        $this->custom_fields_filtering = (bool) $args['custom_fields_filtering'];
        $this->allow_cross_origin_request = (bool) $args['allow_cross_origin_request'];
        $this->allow_unauthorized_request = (bool) $args['allow_unauthorized_request'];
        $this->allow_jetpack_site_auth = (bool) $args['allow_jetpack_site_auth'];
        $this->version = $args['version'];
        $this->required_scope = $args['required_scope'];
        if ($this->request_format) {
            $this->request_format = array_filter(array_merge($this->request_format, $args['request_format']));
        } else {
            $this->request_format = $args['request_format'];
        }
        if ($this->response_format) {
            $this->response_format = array_filter(array_merge($this->response_format, $args['response_format']));
        } else {
            $this->response_format = $args['response_format'];
        }
        if (false === $args['query_parameters']) {
            $this->query = array();
        } elseif (is_array($args['query_parameters'])) {
            $this->query = array_filter(array_merge($this->query, $args['query_parameters']));
        }
        $this->api = WPCOM_JSON_API::init();
        // Auto-add to WPCOM_JSON_API
        $this->links = WPCOM_JSON_API_Links::getInstance();
        /** Example Request/Response ******************************************/
        // Examples for endpoint documentation request
        $this->example_request = $args['example_request'];
        $this->example_request_data = $args['example_request_data'];
        $this->example_response = $args['example_response'];
        $this->api->add($this);
    }

Usage Example

 function __construct($args)
 {
     if (!$this->response_format) {
         $this->response_format =& $this->comment_object_format;
     }
     parent::__construct($args);
 }
All Usage Examples Of WPCOM_JSON_API_Endpoint::__construct