HEX
Server: Apache/2.4.18 (Ubuntu)
System: Linux phubuntu06.apexhosting.com 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
User: master06 (1000)
PHP: 7.0.33-0ubuntu0.16.04.16
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
Upload Files
File: //proc/self/cwd/wp-content/plugins/jetpack-boost-git/app/rest-api/Route.php
<?php

namespace Automattic\Jetpack_Boost\REST_API;

class Route {

	/**
	 * @var \Automattic\Jetpack_Boost\REST_API\Contracts\Endpoint
	 */
	protected $endpoint;

	protected $permissions;

	public function __construct( $endpoint ) {
		$this->endpoint    = new $endpoint();
		$this->permissions = $this->endpoint->permissions();
	}

	public function register_rest_route() {
		register_rest_route(
			JETPACK_BOOST_REST_NAMESPACE,
			JETPACK_BOOST_REST_PREFIX . '/' . $this->endpoint->name(),
			array(
				'methods'             => $this->endpoint->request_methods(),
				'callback'            => array( $this->endpoint, 'response' ),
				'permission_callback' => array( $this, 'verify_permissions' ),
			)
		);
	}

	/**
	 * This method is going to run and try to verify that
	 * all the permission callbacks are successful.
	 *
	 * If any of them fail - return false immediately.
	 *
	 * @param \WP_REST_Request $request
	 *
	 * @return bool
	 */
	public function verify_permissions( $request ) {
		foreach ( $this->permissions as $permission ) {
			if ( true !== $permission->verify( $request ) ) {
				return false;
			}
		}
		return true;
	}
}