Skip to content

Commit

Permalink
Move Jetpack_Client to Connection package as Client (#12717)
Browse files Browse the repository at this point in the history
* move Jetpack_Client to Connection package as Client

* Moving the client library to packages explicitly.

* Adding Michael's changes back to the file.

* Apply PHPCS recommendations.

* Introduce the Jetpack_Constants package usage.

* Fix references to methods outside of the namespace.

* Remove explicit require statements for the connection client.
  • Loading branch information
gititon authored and zinigor committed Jun 18, 2019
1 parent e6e34ae commit 3ed3de8
Show file tree
Hide file tree
Showing 26 changed files with 282 additions and 167 deletions.
6 changes: 4 additions & 2 deletions _inc/class.jetpack-provision.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<?php //phpcs:ignore

use Automattic\Jetpack\Connection\Client;

class Jetpack_Provision { //phpcs:ignore

/**
Expand Down Expand Up @@ -191,7 +193,7 @@ public static function partner_provision( $access_token, $named_args ) {
$url = add_query_arg( array( 'calypso_env' => $calypso_env ), $url );
}

$result = Jetpack_Client::_wp_remote_request( $url, $request );
$result = Client::_wp_remote_request( $url, $request );

if ( is_wp_error( $result ) ) {
return $result;
Expand Down Expand Up @@ -258,7 +260,7 @@ private static function verify_token( $access_token ) {
);

$url = sprintf( 'https://%s/rest/v1.3/jpphp/partner-keys/verify', self::get_api_host() );
$result = Jetpack_Client::_wp_remote_request( $url, $request );
$result = Client::_wp_remote_request( $url, $request );

if ( is_wp_error( $result ) ) {
return $result;
Expand Down
13 changes: 7 additions & 6 deletions _inc/lib/class.core-rest-api-endpoints.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?php

use Automattic\Jetpack\Connection\Client;
use Automattic\Jetpack\JITM;

/**
Expand Down Expand Up @@ -469,7 +470,7 @@ public static function register_endpoints() {
}

public static function get_plans( $request ) {
$request = Jetpack_Client::wpcom_json_api_request_as_user(
$request = Client::wpcom_json_api_request_as_user(
'/plans?_locale=' . get_user_locale(),
'2',
array(
Expand Down Expand Up @@ -1038,7 +1039,7 @@ public static function rewind_data() {
return new WP_Error( 'site_id_missing' );
}

$response = Jetpack_Client::wpcom_json_api_request_as_blog( sprintf( '/sites/%d/rewind', $site_id ) .'?force=wpcom', '2', array(), null, 'wpcom' );
$response = Client::wpcom_json_api_request_as_blog( sprintf( '/sites/%d/rewind', $site_id ) .'?force=wpcom', '2', array(), null, 'wpcom' );

if ( 200 !== wp_remote_retrieve_response_code( $response ) ) {
return new WP_Error( 'rewind_data_fetch_failed' );
Expand Down Expand Up @@ -1258,7 +1259,7 @@ public static function get_user_tracking_settings( $request ) {
'tracks_opt_out' => true, // Default to opt-out if not connected to wp.com.
);
} else {
$response = Jetpack_Client::wpcom_json_api_request_as_user(
$response = Client::wpcom_json_api_request_as_user(
'/jetpack-user-tracking',
'v2',
array(
Expand Down Expand Up @@ -1291,7 +1292,7 @@ public static function update_user_tracking_settings( $request ) {
'tracks_opt_out' => true, // Default to opt-out if not connected to wp.com.
);
} else {
$response = Jetpack_Client::wpcom_json_api_request_as_user(
$response = Client::wpcom_json_api_request_as_user(
'/jetpack-user-tracking',
'v2',
array(
Expand Down Expand Up @@ -1333,7 +1334,7 @@ public static function site_data() {
$args['headers']['Cookie'] = "store_sandbox=$secret;";
}

$response = Jetpack_Client::wpcom_json_api_request_as_blog( sprintf( '/sites/%d', $site_id ) .'?force=wpcom', '1.1', $args );
$response = Client::wpcom_json_api_request_as_blog( sprintf( '/sites/%d', $site_id ) .'?force=wpcom', '1.1', $args );

if ( 200 !== wp_remote_retrieve_response_code( $response ) ) {
return new WP_Error( 'site_data_fetch_failed' );
Expand Down Expand Up @@ -1390,7 +1391,7 @@ public static function get_site_activity() {
);
}

$response = Jetpack_Client::wpcom_json_api_request_as_user( "/sites/$site_id/activity", '2', array(
$response = Client::wpcom_json_api_request_as_user( "/sites/$site_id/activity", '2', array(
'method' => 'GET',
'headers' => array(
'X-Forwarded-For' => Jetpack::current_user_ip( true ),
Expand Down
5 changes: 4 additions & 1 deletion _inc/lib/core-api/class.jetpack-core-api-site-endpoints.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
<?php

use Automattic\Jetpack\Connection\Client;

/**
* This is the endpoint class for `/site` endpoints.
*
Expand All @@ -16,7 +19,7 @@ public static function get_features() {

// Make the API request
$request = sprintf( '/sites/%d/features', Jetpack_Options::get_option( 'id' ) );
$response = Jetpack_Client::wpcom_json_api_request_as_blog( $request, '1.1' );
$response = Client::wpcom_json_api_request_as_blog( $request, '1.1' );

// Bail if there was an error or malformed response
if ( is_wp_error( $response ) || ! is_array( $response ) || ! isset( $response['body'] ) ) {
Expand Down
6 changes: 4 additions & 2 deletions _inc/lib/core-api/wpcom-endpoints/memberships.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
* @since 7.3.0
*/

use Automattic\Jetpack\Connection\Client;

/**
* Class WPCOM_REST_API_V2_Endpoint_Memberships
* This introduces V2 endpoints.
Expand Down Expand Up @@ -108,7 +110,7 @@ public function create_product( $request ) {
return $product->to_array();
} else {
$blog_id = Jetpack_Options::get_option( 'id' );
$response = Jetpack_Client::wpcom_json_api_request_as_user(
$response = Client::wpcom_json_api_request_as_user(
"/sites/$blog_id/{$this->rest_base}/product",
'v2',
array(
Expand Down Expand Up @@ -150,7 +152,7 @@ public function get_status() {
return (array) get_memberships_settings_for_site( $blog_id );
} else {
$blog_id = Jetpack_Options::get_option( 'id' );
$response = Jetpack_Client::wpcom_json_api_request_as_user(
$response = Client::wpcom_json_api_request_as_user(
"/sites/$blog_id/{$this->rest_base}/status",
'v2',
array(),
Expand Down
5 changes: 3 additions & 2 deletions _inc/lib/debugger/class-jetpack-cxn-tests.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
* @package Jetpack
*/

use Automattic\Jetpack\Connection\Client;

/**
* Class Jetpack_Cxn_Tests contains all of the actual tests.
Expand Down Expand Up @@ -226,9 +227,9 @@ protected function test__wpcom_connection_test() {
return self::skipped_test( $name );
}

$response = Jetpack_Client::wpcom_json_api_request_as_blog(
$response = Client::wpcom_json_api_request_as_blog(
sprintf( '/jetpack-blogs/%d/test-connection', Jetpack_Options::get_option( 'id' ) ),
Jetpack_Client::WPCOM_JSON_API_VERSION
Client::WPCOM_JSON_API_VERSION
);

if ( is_wp_error( $response ) ) {
Expand Down
12 changes: 7 additions & 5 deletions class.jetpack-cli.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

WP_CLI::add_command( 'jetpack', 'Jetpack_CLI' );

use Automattic\Jetpack\Connection\Client;

/**
* Control your local Jetpack installation.
*
Expand Down Expand Up @@ -130,9 +132,9 @@ public function test_connection( $args, $assoc_args ) {
WP_CLI::error( __( 'Jetpack is not currently connected to WordPress.com', 'jetpack' ) );
}

$response = Jetpack_Client::wpcom_json_api_request_as_blog(
$response = Client::wpcom_json_api_request_as_blog(
sprintf( '/jetpack-blogs/%d/test-connection', Jetpack_Options::get_option( 'id' ) ),
Jetpack_Client::WPCOM_JSON_API_VERSION
Client::WPCOM_JSON_API_VERSION
);

if ( is_wp_error( $response ) ) {
Expand Down Expand Up @@ -1120,7 +1122,7 @@ public function partner_cancel( $args, $named_args ) {
$url = esc_url_raw( add_query_arg( 'partner_tracking_id', $named_args['partner_tracking_id'], $url ) );
}

$result = Jetpack_Client::_wp_remote_request( $url, $request );
$result = Client::_wp_remote_request( $url, $request );

Jetpack_Options::delete_option( 'onboarding' );

Expand Down Expand Up @@ -1336,9 +1338,9 @@ public function call_api( $args, $named_args ) {
? $named_args['resource']
: sprintf( $named_args['resource'], Jetpack_Options::get_option( 'id' ) );

$response = Jetpack_Client::wpcom_json_api_request_as_blog(
$response = Client::wpcom_json_api_request_as_blog(
$resource_url,
empty( $named_args['api_version'] ) ? Jetpack_Client::WPCOM_JSON_API_VERSION : $named_args['api_version'],
empty( $named_args['api_version'] ) ? Client::WPCOM_JSON_API_VERSION : $named_args['api_version'],
$other_args,
empty( $decoded_body ) ? null : $decoded_body,
empty( $named_args['base_api_path'] ) ? 'rest' : $named_args['base_api_path']
Expand Down
3 changes: 2 additions & 1 deletion class.jetpack-client-server.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?php

use Automattic\Jetpack\Connection\Client;
use Automattic\Jetpack\Tracking;

/**
Expand Down Expand Up @@ -221,7 +222,7 @@ function get_token( $data ) {
'Accept' => 'application/json',
),
);
$response = Jetpack_Client::_wp_remote_request( Jetpack::fix_url_for_bad_hosts( Jetpack::api_url( 'token' ) ), $args );
$response = Client::_wp_remote_request( Jetpack::fix_url_for_bad_hosts( Jetpack::api_url( 'token' ) ), $args );

if ( is_wp_error( $response ) ) {
return new Jetpack_Error( 'token_http_request_failed', $response->get_error_message() );
Expand Down
4 changes: 3 additions & 1 deletion class.jetpack-ixr-client.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

defined( 'ABSPATH' ) or die( 'No direct access, please.' );

use Automattic\Jetpack\Connection\Client;

require_once( ABSPATH . WPINC . '/class-IXR.php' );

/**
Expand Down Expand Up @@ -33,7 +35,7 @@ function query() {
$request = new IXR_Request( $method, $args );
$xml = trim( $request->getXml() );

$response = Jetpack_Client::remote_request( $this->jetpack_args, $xml );
$response = Client::remote_request( $this->jetpack_args, $xml );

if ( is_wp_error( $response ) ) {
$this->error = new IXR_Error( -10520, sprintf( 'Jetpack: [%s] %s', $response->get_error_code(), $response->get_error_message() ) );
Expand Down
4 changes: 3 additions & 1 deletion class.jetpack-network.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<?php

use Automattic\Jetpack\Connection\Client;

/**
* Used to manage Jetpack installation on Multisite Network installs
*
Expand Down Expand Up @@ -501,7 +503,7 @@ public function do_subsiteregister( $site_id = null ) {
Jetpack::apply_activation_source_to_args( $args['body'] );

// Attempt to retrieve shadow blog details
$response = Jetpack_Client::_wp_remote_request(
$response = Client::_wp_remote_request(
Jetpack::fix_url_for_bad_hosts( Jetpack::api_url( 'subsiteregister' ) ), $args, true
);

Expand Down
6 changes: 4 additions & 2 deletions class.jetpack-plan.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
* @package Jetpack
*/

use Automattic\Jetpack\Connection\Client;

/**
* Provides methods methods for fetching the plan from WordPress.com.
*/
Expand Down Expand Up @@ -72,7 +74,7 @@ public static function update_from_sites_response( $response ) {
* Make an API call to WordPress.com for plan status
*
* @uses Jetpack_Options::get_option()
* @uses Jetpack_Client::wpcom_json_api_request_as_blog()
* @uses Client::wpcom_json_api_request_as_blog()
* @uses update_option()
*
* @access public
Expand All @@ -83,7 +85,7 @@ public static function update_from_sites_response( $response ) {
public static function refresh_from_wpcom() {
// Make the API request.
$request = sprintf( '/sites/%d', Jetpack_Options::get_option( 'id' ) );
$response = Jetpack_Client::wpcom_json_api_request_as_blog( $request, '1.1' );
$response = Client::wpcom_json_api_request_as_blog( $request, '1.1' );

return self::update_from_sites_response( $response );
}
Expand Down
4 changes: 3 additions & 1 deletion class.jetpack-xmlrpc-server.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
<?php

use Automattic\Jetpack\Connection\Client;
use Automattic\Jetpack\Tracking;

/**
* Just a sack of functions. Not actually an IXR_Server
*/
Expand Down Expand Up @@ -244,7 +246,7 @@ public function remote_register( $request ) {
unset( $request['nonce'] );

$api_url = Jetpack::fix_url_for_bad_hosts( Jetpack::api_url( 'partner_provision_nonce_check' ) );
$response = Jetpack_Client::_wp_remote_request(
$response = Client::_wp_remote_request(
esc_url_raw( add_query_arg( 'nonce', $nonce, $api_url ) ),
array( 'method' => 'GET' ),
true
Expand Down
7 changes: 4 additions & 3 deletions class.jetpack.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php

use Automattic\Jetpack\Assets\Logo as Jetpack_Logo;
use Automattic\Jetpack\Connection\Client;
use Automattic\Jetpack\Connection\Manager as Connection_Manager;
use Automattic\Jetpack\Connection\REST_Connector as REST_Connector;
use Automattic\Jetpack\Connection\XMLRPC_Connector as XMLRPC_Connector;
Expand Down Expand Up @@ -3531,7 +3532,7 @@ function admin_init() {
// Upgrade: 1.1 -> 1.1.1
// Check and see if host can verify the Jetpack servers' SSL certificate
$args = array();
Jetpack_Client::_wp_remote_request(
Client::_wp_remote_request(
Jetpack::fix_url_for_bad_hosts( Jetpack::api_url( 'test' ) ),
$args,
true
Expand Down Expand Up @@ -4470,7 +4471,7 @@ function build_connect_url( $raw = false, $redirect = false, $from = false, $reg
if ( ! $last_connect_url_check || ( time() - $last_connect_url_check ) > MINUTE_IN_SECONDS ) {
Jetpack_Options::update_raw_option( 'jetpack_last_connect_url_check', time() );

$response = Jetpack_Client::wpcom_json_api_request_as_blog(
$response = Client::wpcom_json_api_request_as_blog(
sprintf( '/sites/%d', $site_id ) .'?force=wpcom',
'1.1'
);
Expand Down Expand Up @@ -5076,7 +5077,7 @@ public static function register() {

self::apply_activation_source_to_args( $args['body'] );

$response = Jetpack_Client::_wp_remote_request( Jetpack::fix_url_for_bad_hosts( Jetpack::api_url( 'register' ) ), $args, true );
$response = Client::_wp_remote_request( Jetpack::fix_url_for_bad_hosts( Jetpack::api_url( 'register' ) ), $args, true );

// Make sure the response is valid and does not contain any Jetpack errors
$registration_details = Jetpack::init()->validate_remote_register_response( $response );
Expand Down
4 changes: 3 additions & 1 deletion class.json-api-endpoints.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<?php

use Automattic\Jetpack\Connection\Client;

require_once( dirname( __FILE__ ) . '/json-api-config.php' );
require_once( dirname( __FILE__ ) . '/sal/class.json-api-links.php' );
require_once( dirname( __FILE__ ) . '/sal/class.json-api-metadata.php' );
Expand Down Expand Up @@ -300,7 +302,7 @@ function input( $return_default_values = true, $cast_and_filter = true ) {


protected function get_secure_body( $secure_key ) {
$response = Jetpack_Client::wpcom_json_api_request_as_blog(
$response = Client::wpcom_json_api_request_as_blog(
sprintf( '/sites/%d/secure-request', Jetpack_Options::get_option('id' ) ),
'1.1',
array( 'method' => 'POST' ),
Expand Down
11 changes: 10 additions & 1 deletion composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion functions.global.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
* @package Jetpack
*/

use Automattic\Jetpack\Connection\Client;

/**
* Disable direct access.
*/
Expand Down Expand Up @@ -153,7 +155,7 @@ function jetpack_theme_update( $preempt, $r, $url ) {

// Remove filter to avoid endless loop since wpcom_json_api_request_as_blog uses this too.
remove_filter( 'pre_http_request', 'jetpack_theme_update' );
$result = Jetpack_Client::wpcom_json_api_request_as_blog(
$result = Client::wpcom_json_api_request_as_blog(
"themes/download/$theme.zip",
'1.1',
array(
Expand Down
1 change: 0 additions & 1 deletion jetpack.php
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,6 @@ function jetpack_admin_missing_autoloader() { ?>
// @todo: Abstract out the admin functions, and only include them if is_admin()
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack.php' );
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-network.php' );
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-client.php' );
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-data.php' );
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-client-server.php' );
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-user-agent.php' );
Expand Down

0 comments on commit 3ed3de8

Please sign in to comment.