Changeset 9873
- Timestamp:
- 05/13/2020 06:43:14 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/official-wordpress-events/meetup/class-meetup-client.php
r9765 r9873 102 102 $body = json_decode( wp_remote_retrieve_body( $response ), true ); 103 103 104 if ( 400 === $code && ! empty( $body['error'] ) && 'invalid_grant' === $body['error'] ) { 104 $parsed_error = $this->parse_error( $body ); 105 106 if ( 107 ( 400 === $code && $parsed_error->get_error_message( 'invalid_grant' ) ) 108 || ( 401 === $code && $parsed_error->get_error_message( 'auth_fail' ) ) 109 ) { 105 110 $this->oauth_client->reset_oauth_token(); 106 111 … … 219 224 $oauth_token = $this->oauth_client->get_oauth_token(); 220 225 226 if ( ! empty( $this->oauth_client->error->get_error_messages() ) ) { 227 $this->error = $this->merge_errors( $this->error, $this->oauth_client->error ); 228 } 229 221 230 return array( 222 231 'headers' => array( … … 321 330 $data = json_decode( wp_remote_retrieve_body( $response ), true ); 322 331 323 if ( isset( $data['errors'] ) ) { 324 foreach ( $data['errors'] as $error ) { 325 $this->error->add( 326 $error['code'], 327 $error['message'] 328 ); 329 } 330 } elseif ( isset( $data['error'], $data['error_description'] ) ) { 331 $this->error->add( 332 $data['error'], 333 $data['error_description'] 334 ); 335 } elseif ( isset( $data['code'] ) && isset( $data['details'] ) ) { 336 $this->error->add( 337 $data['code'], 338 $data['details'] 339 ); 340 } elseif ( $response_code ) { 341 $this->error->add( 342 'http_response_code', 343 sprintf( 'HTTP Status: %d', absint( $response_code ) ) 344 ); 332 $parsed_error = $this->parse_error( $data, $response_code ); 333 334 if ( ! empty( $parsed_error->get_error_messages() ) ) { 335 $this->error = self::merge_errors( $this->error, $parsed_error ); 345 336 } else { 346 337 $this->error->add( … … 352 343 353 344 /** 345 * Attempt to extract codes and messages from a suspected error response. 346 * 347 * @param array $data The data in the response body, parsed as an array. 348 * @param int $response_code Optional. The HTTP status code from the response. 349 * 350 * @return WP_Error 351 */ 352 protected function parse_error( array $data, $response_code = 0 ) { 353 $error = new WP_Error(); 354 355 if ( isset( $data['errors'] ) ) { 356 foreach ( $data['errors'] as $error ) { 357 $error->add( 358 $error['code'], 359 $error['message'] 360 ); 361 } 362 } elseif ( isset( $data['error'], $data['error_description'] ) ) { 363 $error->add( 364 $data['error'], 365 $data['error_description'] 366 ); 367 } elseif ( isset( $data['code'], $data['details'] ) ) { 368 $error->add( 369 $data['code'], 370 $data['details'] 371 ); 372 } elseif ( $response_code ) { 373 $error->add( 374 'http_response_code', 375 sprintf( 'HTTP Status: %d', absint( $response_code ) ) 376 ); 377 } 378 379 return $error; 380 } 381 382 /** 354 383 * Retrieve data about groups in the Chapter program. 355 384 *
Note: See TracChangeset
for help on using the changeset viewer.