diff --git a/projects/packages/connection/changelog/update-move-wpcom-rest-api-proxy-request-trait b/projects/packages/connection/changelog/update-move-wpcom-rest-api-proxy-request-trait new file mode 100644 index 0000000000000..025485a8d24e5 --- /dev/null +++ b/projects/packages/connection/changelog/update-move-wpcom-rest-api-proxy-request-trait @@ -0,0 +1,4 @@ +Significance: minor +Type: changed + +Moved WPCOM_REST_API_Proxy_Request trait to the connection package diff --git a/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/trait-wpcom-rest-api-proxy-request-trait.php b/projects/packages/connection/src/traits/trait-wpcom-rest-api-proxy-request.php similarity index 83% rename from projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/trait-wpcom-rest-api-proxy-request-trait.php rename to projects/packages/connection/src/traits/trait-wpcom-rest-api-proxy-request.php index 57015e3f344b8..4e020a533234a 100644 --- a/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/trait-wpcom-rest-api-proxy-request-trait.php +++ b/projects/packages/connection/src/traits/trait-wpcom-rest-api-proxy-request.php @@ -1,29 +1,34 @@ rest_base, '/' ) ) . ( $path ? '/' . rawurldecode( ltrim( $path, '/' ) ) : '' ); $query_params = $request->get_query_params(); @@ -40,12 +45,15 @@ public function proxy_request_to_wpcom( $request, $path = '', $context = 'user', } $api_url = add_query_arg( $query_params, $path ); - $request_options = array( - 'headers' => array( - 'Content-Type' => 'application/json', - 'X-Forwarded-For' => ( new Visitor() )->get_ip( true ), + $request_options = array_replace_recursive( + array( + 'headers' => array( + 'Content-Type' => 'application/json', + 'X-Forwarded-For' => ( new Visitor() )->get_ip( true ), + ), + 'method' => $request->get_method(), ), - 'method' => $request->get_method(), + $request_options ); // If no body is present, passing it as $request->get_body() will cause an error. @@ -53,7 +61,7 @@ public function proxy_request_to_wpcom( $request, $path = '', $context = 'user', $response = new WP_Error( 'rest_unauthorized', - __( 'Please connect your user account to WordPress.com', 'jetpack' ), + __( 'Please connect your user account to WordPress.com', 'jetpack-connection' ), array( 'status' => rest_authorization_required_code() ) ); @@ -86,7 +94,7 @@ public function proxy_request_to_wpcom( $request, $path = '', $context = 'user', if ( $response_status >= 400 ) { $code = isset( $response_body['code'] ) ? $response_body['code'] : 'unknown_error'; - $message = isset( $response_body['message'] ) ? $response_body['message'] : __( 'An unknown error occurred.', 'jetpack' ); + $message = isset( $response_body['message'] ) ? $response_body['message'] : __( 'An unknown error occurred.', 'jetpack-connection' ); return new WP_Error( $code, $message, array( 'status' => $response_status ) ); } diff --git a/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-email-preview.php b/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-email-preview.php index 0ece26ee6a872..525ae6caa34f1 100644 --- a/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-email-preview.php +++ b/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-email-preview.php @@ -6,10 +6,10 @@ */ use Automattic\Jetpack\Connection\Manager; +use Automattic\Jetpack\Connection\Traits\WPCOM_REST_API_Proxy_Request; use Automattic\Jetpack\Extensions\Premium_Content\Subscription_Service\Abstract_Token_Subscription_Service; use Automattic\Jetpack\Status\Host; -require_once __DIR__ . '/trait-wpcom-rest-api-proxy-request-trait.php'; require_once JETPACK__PLUGIN_DIR . 'extensions/blocks/premium-content/_inc/subscription-service/include.php'; /** @@ -19,7 +19,7 @@ */ class WPCOM_REST_API_V2_Endpoint_Email_Preview extends WP_REST_Controller { - use WPCOM_REST_API_Proxy_Request_Trait; + use WPCOM_REST_API_Proxy_Request; /** * Constructor. diff --git a/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-newsletter-categories-list.php b/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-newsletter-categories-list.php index d823a50f16dd4..f4910e8c32959 100644 --- a/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-newsletter-categories-list.php +++ b/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-newsletter-categories-list.php @@ -6,15 +6,14 @@ * @since 12.6 */ +use Automattic\Jetpack\Connection\Traits\WPCOM_REST_API_Proxy_Request; use Automattic\Jetpack\Status\Host; -require_once __DIR__ . '/trait-wpcom-rest-api-proxy-request-trait.php'; - /** * Class WPCOM_REST_API_V2_Endpoint_Following */ class WPCOM_REST_API_V2_Endpoint_Newsletter_Categories_List extends WP_REST_Controller { - use WPCOM_REST_API_Proxy_Request_Trait; + use WPCOM_REST_API_Proxy_Request; /** * Constructor. diff --git a/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-newsletter-categories-subscriptions-count.php b/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-newsletter-categories-subscriptions-count.php index e865e59a16228..82d4c65e1467d 100644 --- a/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-newsletter-categories-subscriptions-count.php +++ b/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-newsletter-categories-subscriptions-count.php @@ -6,15 +6,14 @@ * @since 12.6 */ +use Automattic\Jetpack\Connection\Traits\WPCOM_REST_API_Proxy_Request; use Automattic\Jetpack\Status\Host; -require_once __DIR__ . '/trait-wpcom-rest-api-proxy-request-trait.php'; - /** * Class WPCOM_REST_API_V2_Endpoint_Newsletter_Categories_Subscriptions_Count */ class WPCOM_REST_API_V2_Endpoint_Newsletter_Categories_Subscriptions_Count extends WP_REST_Controller { - use WPCOM_REST_API_Proxy_Request_Trait; + use WPCOM_REST_API_Proxy_Request; /** * Constructor. diff --git a/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-send-email-preview.php b/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-send-email-preview.php index 9b01e4ffbd87f..d1487938b4733 100644 --- a/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-send-email-preview.php +++ b/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-send-email-preview.php @@ -6,17 +6,16 @@ */ use Automattic\Jetpack\Connection\Manager; +use Automattic\Jetpack\Connection\Traits\WPCOM_REST_API_Proxy_Request; use Automattic\Jetpack\Status\Host; -require_once __DIR__ . '/trait-wpcom-rest-api-proxy-request-trait.php'; - /** * Class WPCOM_REST_API_V2_Endpoint_Send_Email_Preview * Handles the sending of email previews via the WordPress.com REST API */ class WPCOM_REST_API_V2_Endpoint_Send_Email_Preview extends WP_REST_Controller { - use WPCOM_REST_API_Proxy_Request_Trait; + use WPCOM_REST_API_Proxy_Request; /** * Constructor. diff --git a/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v3-endpoint-blogging-prompts.php b/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v3-endpoint-blogging-prompts.php index cfede7814a9ef..58f3ea3789ce4 100644 --- a/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v3-endpoint-blogging-prompts.php +++ b/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v3-endpoint-blogging-prompts.php @@ -5,15 +5,14 @@ * @package automattic/jetpack */ -// Ensure WPCOM_REST_API_Proxy_Request_Trait is present. -require_once __DIR__ . '/trait-wpcom-rest-api-proxy-request-trait.php'; +use Automattic\Jetpack\Connection\Traits\WPCOM_REST_API_Proxy_Request; /** * REST API endpoint wpcom/v3/sites/%s/blogging-prompts. */ class WPCOM_REST_API_V3_Endpoint_Blogging_Prompts extends WP_REST_Posts_Controller { - use WPCOM_REST_API_Proxy_Request_Trait; + use WPCOM_REST_API_Proxy_Request; const TEMPLATE_BLOG_ID = 205876834; diff --git a/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/memberships.php b/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/memberships.php index 680f3a10b5705..59711d97b4479 100644 --- a/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/memberships.php +++ b/projects/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/memberships.php @@ -6,7 +6,7 @@ * @since 7.3.0 */ -require_once __DIR__ . '/trait-wpcom-rest-api-proxy-request-trait.php'; +use Automattic\Jetpack\Connection\Traits\WPCOM_REST_API_Proxy_Request; /** * Class WPCOM_REST_API_V2_Endpoint_Memberships @@ -14,7 +14,7 @@ */ class WPCOM_REST_API_V2_Endpoint_Memberships extends WP_REST_Controller { - use WPCOM_REST_API_Proxy_Request_Trait; + use WPCOM_REST_API_Proxy_Request; /** * WPCOM_REST_API_V2_Endpoint_Memberships constructor. diff --git a/projects/plugins/jetpack/changelog/update-move-wpcom-rest-api-proxy-request-trait b/projects/plugins/jetpack/changelog/update-move-wpcom-rest-api-proxy-request-trait new file mode 100644 index 0000000000000..bf22379f80342 --- /dev/null +++ b/projects/plugins/jetpack/changelog/update-move-wpcom-rest-api-proxy-request-trait @@ -0,0 +1,4 @@ +Significance: minor +Type: other + +Moved WPCOM_REST_API_Proxy_Request trait to the connection package