diff --git a/src/Pecee/Http/Middleware/BaseCsrfVerifier.php b/src/Pecee/Http/Middleware/BaseCsrfVerifier.php index 4815e8c..e92310e 100644 --- a/src/Pecee/Http/Middleware/BaseCsrfVerifier.php +++ b/src/Pecee/Http/Middleware/BaseCsrfVerifier.php @@ -64,11 +64,11 @@ class BaseCsrfVerifier implements IMiddleware public function handle(Request $request): void { - if ($this->skip($request) === false && \in_array($request->getMethod(), ['post', 'put', 'delete'], true) === true) { + if ($this->skip($request) === false && \in_array($request->getMethod(), ['post', 'put', 'patch', 'delete'], true) === true) { $token = $request->getInputHandler()->value( static::POST_KEY, - $request->getHeader(static::HEADER_KEY), + $request->getHeader(static::HEADER_KEY) ?? $request->getHeader('HTTP-' . static::HEADER_KEY), 'post' ); diff --git a/src/Pecee/Http/Request.php b/src/Pecee/Http/Request.php index e2bccae..c695008 100644 --- a/src/Pecee/Http/Request.php +++ b/src/Pecee/Http/Request.php @@ -147,6 +147,15 @@ class Request return $this->getHeader('php-auth-pw'); } + /** + * Get the csrf token + * @return string|null + */ + public function getCsrfToken(): ?string + { + return $this->getHeader('x-csrf-token') ?? $this->getHeader('http-x-csrf-token'); + } + /** * Get all headers * @return array