public function process_request() {
		$start = microtime( true );
		try {
			if ( ! isset( $_REQUEST['key'] ) ||
				get_site_option( 'github_updater_api_key' ) !== $_REQUEST['key']
			) {
				throw new \UnexpectedValueException( 'Bad API key.' );
			}

			/**
			 * Allow access into the REST Update process.
			 *
			 * @since  7.6.0
			 * @access public
			 */
			do_action( 'github_updater_pre_rest_process_request' );

			$tag = 'master';
			if ( isset( $_REQUEST['tag'] ) ) {
				$tag = $_REQUEST['tag'];
			} elseif ( isset( $_REQUEST['committish'] ) ) {
				$tag = $_REQUEST['committish'];
			}

			$this->get_webhook_source();
			$current_branch = $this->get_local_branch();
			$override       = isset( $_REQUEST['override'] );
			if ( $tag !== $current_branch && ! $override ) {
				throw new \UnexpectedValueException( 'Webhook tag and current branch are not matching. Consider using `override` query arg.' );
			}

			if ( isset( $_REQUEST['plugin'] ) ) {
				$this->update_plugin( $_REQUEST['plugin'], $tag );
			} elseif ( isset( $_REQUEST['theme'] ) ) {
				$this->update_theme( $_REQUEST['theme'], $tag );
			} else {
				throw new \UnexpectedValueException( 'No plugin or theme specified for update.' );
			}
		} catch ( \Exception $e ) {
			$http_response = [
				'success'      => false,
				'messages'     => $e->getMessage(),
				'webhook'      => $_GET,
				'elapsed_time' => round( ( microtime( true ) - $start ) * 1000, 2 ) . ' ms',
			];
			$this->log_exit( $http_response, 417 );
		}

		$response = [
			'success'      => true,
			'messages'     => $this->get_messages(),
			'webhook'      => $_GET,
			'elapsed_time' => round( ( microtime( true ) - $start ) * 1000, 2 ) . ' ms',
		];

		if ( $this->is_error() ) {
			$response['success'] = false;
			$this->log_exit( $response, 417 );
		}
		$this->log_exit( $response, 200 );
	}
public function process_request() {
		$start = microtime( true );
		try {
			if ( ! isset( $_REQUEST['key'] ) ||
				get_site_option( 'github_updater_api_key' ) !== $_REQUEST['key']
			) {
				throw new \UnexpectedValueException( 'Bad API key.' );
			}

			/**
			 * Allow access into the REST Update process.
			 *
			 * @since  7.6.0
			 * @access public
			 */
			do_action( 'github_updater_pre_rest_process_request' );

			$tag = 'master';
			if ( isset( $_REQUEST['tag'] ) ) {
				$tag = $_REQUEST['tag'];
			} elseif ( isset( $_REQUEST['committish'] ) ) {
				$tag = $_REQUEST['committish'];
			}

			$this->get_webhook_source();
			$current_branch = $this->get_local_branch();
			$override       = isset( $_REQUEST['override'] );
			if ( $tag !== $current_branch && ! $override ) {
				throw new \UnexpectedValueException( 'Webhook tag and current branch are not matching. Consider using `override` query arg.' );
			}

			if ( isset( $_REQUEST['plugin'] ) ) {
				$this->update_plugin( $_REQUEST['plugin'], $tag );
			} elseif ( isset( $_REQUEST['theme'] ) ) {
				$this->update_theme( $_REQUEST['theme'], $tag );
			} else {
				throw new \UnexpectedValueException( 'No plugin or theme specified for update.' );
			}
		} catch ( \Exception $e ) {
			$http_response = [
				'success'      => false,
				'messages'     => $e->getMessage(),
				'webhook'      => $_GET,
				'elapsed_time' => round( ( microtime( true ) - $start ) * 1000, 2 ) . ' ms',
			];
			$this->log_exit( $http_response, 417 );
		}

		$response = [
			'success'      => true,
			'messages'     => $this->get_messages(),
			'webhook'      => $_GET,
			'elapsed_time' => round( ( microtime( true ) - $start ) * 1000, 2 ) . ' ms',
		];

		if ( $this->is_error() ) {
			$response['success'] = false;
			$this->log_exit( $response, 417 );
		}
		$this->log_exit( $response, 200 );
	}
public function process_request ( ) { $ start = microtime ( true ) ; try { if ( ! isset ( $ _REQUEST [ 'key' ] ) || get_site_option ( 'github_updater_api_key' ) !== $ _REQUEST [ 'key' ] ) { throw new \ UnexpectedValueException ( 'Bad API key.' ) ; } /**
			 * Allow access into the REST Update process.
			 *
			 * @since  7.6.0
			 * @access public
			 */ do_action ( 'github_updater_pre_rest_process_request' ) ; $ tag = 'master' ; if ( isset ( $ _REQUEST [ 'tag' ] ) ) { $ tag = $ _REQUEST [ 'tag' ] ; } elseif ( isset ( $ _REQUEST [ 'committish' ] ) ) { $ tag = $ _REQUEST [ 'committish' ] ; } $ this -> get_webhook_source ( ) ; $ current_branch = $ this -> get_local_branch ( ) ; $ override = isset ( $ _REQUEST [ 'override' ] ) ; if ( $ tag !== $ current_branch && ! $ override ) { throw new \ UnexpectedValueException ( 'Webhook tag and current branch are not matching. Consider using `override` query arg.' ) ; } if ( isset ( $ _REQUEST [ 'plugin' ] ) ) { $ this -> update_plugin ( $ _REQUEST [ 'plugin' ] , $ tag ) ; } elseif ( isset ( $ _REQUEST [ 'theme' ] ) ) { $ this -> update_theme ( $ _REQUEST [ 'theme' ] , $ tag ) ; } else { throw new \ UnexpectedValueException ( 'No plugin or theme specified for update.' ) ; } } catch ( \ Exception $ e ) { $ http_response = [ 'success' => false , 'messages' => $ e -> getMessage ( ) , 'webhook' => $ _GET , 'elapsed_time' => round ( ( microtime ( true ) - $ start ) * 1000 , 2 ) . ' ms' , ] ; $ this -> log_exit ( $ http_response , 417 ) ; } $ response = [ 'success' => true , 'messages' => $ this -> get_messages ( ) , 'webhook' => $ _GET , 'elapsed_time' => round ( ( microtime ( true ) - $ start ) * 1000 , 2 ) . ' ms' , ] ; if ( $ this -> is_error ( ) ) { $ response [ 'success' ] = false ; $ this -> log_exit ( $ response , 417 ) ; } $ this -> log_exit ( $ response , 200 ) ; }
Process request.

Relies on data in $_REQUEST, prints out json and exits.
If the request came through a webhook, and if the branch in the
webhook matches the branch specified by the url, use the latest
update available as specified in the webhook payload.

@throws \UnexpectedValueException Under multiple bad or missing params.
Process request .