PluginProbe
Code Snippets / 3.10.0
Code Snippets v3.10.0
3.10.2 3.10.1 3.10.0 3.10.0-beta.2 3.10.0-beta.1 4.0.0-beta.1 3.9.6 trunk 2.10.0 2.10.1 2.12.0 2.12.1 2.13.0 2.13.1 2.13.2 2.13.3 2.14.0 2.14.1 2.14.2 2.14.3 2.14.4 2.14.5 2.14.6 3.0.0 3.0.1 All 64 releases
code-snippets / php / REST_API / Cloud / Cloud_REST_Controller.php

Cloud_REST_Controller.php in Code Snippets 3.10.0, at php/REST_API/Cloud/Cloud_REST_Controller.php

45 lines 1012 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Code_Snippets\REST_API\Cloud;
4
5 use Code_Snippets\Client\Cloud_API;
6 use Code_Snippets\REST_API\REST_Controller;
7 use WP_REST_Request;
8
9 /**
10 * Base class for REST API controllers that interface with the Code Snippets Cloud API.
11 *
12 * @package Code_Snippets
13 */
14 abstract class Cloud_REST_Controller extends REST_Controller {
15
16 /**
17 * Instance of Cloud API class.
18 *
19 * @var Cloud_API
20 */
21 protected Cloud_API $cloud_api;
22
23 /**
24 * Class constructor.
25 *
26 * @param Cloud_API $cloud_api Cloud API instance.
27 */
28 public function __construct( Cloud_API $cloud_api ) {
29 parent::__construct();
30 $this->cloud_api = $cloud_api;
31 }
32
33 /**
34 * Check the request from Cloud API is valid
35 *
36 * @param WP_REST_Request $request Full data about the request.
37 *
38 * @return bool
39 */
40 public function permission_callback( WP_REST_Request $request ): bool {
41 return parent::permission_callback( $request ) &&
42 $request->get_header( 'Access-Control' ) === $this->cloud_api->get_local_token();
43 }
44 }
45