Jetpack::validate_remote_register_response PHP Method

validate_remote_register_response() public method

Takes the response from the Jetpack register new site endpoint and verifies it worked properly.
Since: 2.6
public validate_remote_register_response ( $response ) : true
return true or Jetpack_Error
    public function validate_remote_register_response($response)
    {
        if (is_wp_error($response)) {
            return new Jetpack_Error('register_http_request_failed', $response->get_error_message());
        }
        $code = wp_remote_retrieve_response_code($response);
        $entity = wp_remote_retrieve_body($response);
        if ($entity) {
            $json = json_decode($entity);
        } else {
            $json = false;
        }
        $code_type = intval($code / 100);
        if (5 == $code_type) {
            return new Jetpack_Error('wpcom_5??', sprintf(__('Error Details: %s', 'jetpack'), $code), $code);
        } elseif (408 == $code) {
            return new Jetpack_Error('wpcom_408', sprintf(__('Error Details: %s', 'jetpack'), $code), $code);
        } elseif (!empty($json->error)) {
            $error_description = isset($json->error_description) ? sprintf(__('Error Details: %s', 'jetpack'), (string) $json->error_description) : '';
            return new Jetpack_Error((string) $json->error, $error_description, $code);
        } elseif (200 != $code) {
            return new Jetpack_Error('wpcom_bad_response', sprintf(__('Error Details: %s', 'jetpack'), $code), $code);
        }
        // Jetpack ID error block
        if (empty($json->jetpack_id)) {
            return new Jetpack_Error('jetpack_id', sprintf(__('Error Details: Jetpack ID is empty. Do not publicly post this error message! %s', 'jetpack'), $entity), $entity);
        } elseif (!is_scalar($json->jetpack_id)) {
            return new Jetpack_Error('jetpack_id', sprintf(__('Error Details: Jetpack ID is not a scalar. Do not publicly post this error message! %s', 'jetpack'), $entity), $entity);
        } elseif (preg_match('/[^0-9]/', $json->jetpack_id)) {
            return new Jetpack_Error('jetpack_id', sprintf(__('Error Details: Jetpack ID begins with a numeral. Do not publicly post this error message! %s', 'jetpack'), $entity), $entity);
        }
        return true;
    }
Jetpack