Skip to content

Commit 948e7d9

Browse files
committed
fix rest_pre_serve_request error reported by user
1 parent 5ec8a93 commit 948e7d9

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

includes/API.php

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,16 +102,24 @@ public function rest_allowed_cors_headers( array $allow_headers ): array {
102102

103103
/**
104104
* Add Access Control Allow Headers for POS app.
105+
*
106+
* NOTE: I have seen this filter called with NULL for $served, which is not expected
105107
*
106-
* @param bool $served Whether the request has already been served.
108+
* @param mixed $served Whether the request has already been served.
107109
* Default false.
108110
* @param WP_HTTP_Response $result Result to send to the client. Usually a `WP_REST_Response`.
109111
* @param WP_REST_Request $request Request used to generate the response.
110112
* @param WP_REST_Server $server Server instance.
111113
*
112114
* @return bool $served
113115
*/
114-
public function rest_pre_serve_request( bool $served, WP_HTTP_Response $result, WP_REST_Request $request, WP_REST_Server $server ): bool {
116+
public function rest_pre_serve_request( $served, WP_HTTP_Response $result, WP_REST_Request $request, WP_REST_Server $server ): bool {
117+
// Check if served is a boolean
118+
if ( ! is_bool( $served ) ) {
119+
Logger::log( "Warning: 'rest_pre_serve_request' filter received a non-boolean value for 'served'. Defaulting to 'false'." );
120+
$served = false; // Default value if not provided correctly
121+
}
122+
115123
$server->send_header( 'Access-Control-Allow-Origin', '*' );
116124

117125
return $served;
@@ -193,6 +201,12 @@ public function get_auth_header() {
193201
$header = sanitize_text_field( $_SERVER['REDIRECT_HTTP_AUTHORIZATION'] );
194202
}
195203

204+
// Check for authorization param in URL
205+
// @TODO - add setting to enable this
206+
if ( ! $header && isset( $_GET['authorization'] ) ) {
207+
$header = sanitize_text_field( $_GET['authorization'] );
208+
}
209+
196210
return $header;
197211
}
198212

readme.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ There is more information on our website at [https://wcpos.com](https://wcpos.co
6363

6464
== Changelog ==
6565

66+
= 1.3.6 = 2023/07/ =
67+
* Fix: rest_pre_serve_request critical error reported by some users
68+
6669
= 1.3.4 and 1.3.5 - 2023/07/29 =
6770
* Urgent Fix: product descriptions being truncated to 100 characters
6871

0 commit comments

Comments
 (0)