From 028d76ea70e71c906110fe85bcaa6b61eb8cf18b Mon Sep 17 00:00:00 2001 From: Konstantin Obenland Date: Thu, 18 May 2017 14:43:47 +0000 Subject: [PATCH] Dashboard: Document request proxy for events. Documents the reason why the request is proxied through WP, instead of being made directly to api.wordpress.org. Props iandunn, michelleweber. See #40702. git-svn-id: https://develop.svn.wordpress.org/trunk@40777 602fd350-edb4-49c9-b593-d223f7449a82 --- .../includes/class-wp-community-events.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/wp-admin/includes/class-wp-community-events.php b/src/wp-admin/includes/class-wp-community-events.php index f388c3a957..24a9860bd0 100644 --- a/src/wp-admin/includes/class-wp-community-events.php +++ b/src/wp-admin/includes/class-wp-community-events.php @@ -67,11 +67,22 @@ class WP_Community_Events { * data. The API will send back a recognized location based on the data, along * with nearby events. * + * The browser's request for events is proxied with this method, rather + * than having the browser make the request directly to api.wordpress.org, + * because it allows results to be cached server-side and shared with other + * users and sites in the network. This makes the process more efficient, + * since increasing the number of visits that get cached data means users + * don't have to wait as often; if the user's browser made the request + * directly, it would also need to make a second request to WP in order to + * pass the data for caching. Having WP make the request also introduces + * the opportunity to anonymize the IP before sending it to w.org, which + * mitigates possible privacy concerns. + * * @since 4.8.0 * - * @param string $location_search Optional city name to help determine the location. + * @param string $location_search Optional. City name to help determine the location. * e.g., "Seattle". Default empty string. - * @param string $timezone Optional timezone to help determine the location. + * @param string $timezone Optional. Timezone to help determine the location. * Default empty string. * @return array|WP_Error A WP_Error on failure; an array with location and events on * success.