From ae9348c0adc196fd89bad6f9dd68b4c232c09e6a Mon Sep 17 00:00:00 2001 From: Andy Dixon Date: Sat, 12 Sep 2026 18:41:32 +0100 Subject: [PATCH] Match GitHub event headers case-insensitively Header names arrive lowercase over HTTP/2 (the nginx front end enables it) and Apache preserves that case, so the X-GitHub-Event lookup missed and every email reported "Unknown". Normalise header keys once. --- parsers/github.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/parsers/github.php b/parsers/github.php index a112127..8a45453 100644 --- a/parsers/github.php +++ b/parsers/github.php @@ -14,9 +14,10 @@ function githubParse($rawBody, $headers, $metadata) { return false; } - // Determine event type from headers - $event = $headers['X-GitHub-Event'] ?? $headers['X-Github-Event'] ?? 'Unknown'; - $delivery = $headers['X-GitHub-Delivery'] ?? $headers['X-Github-Delivery'] ?? 'Unknown'; + // Header names arrive lowercase over HTTP/2, so match case-insensitively + $headers = array_change_key_case($headers, CASE_LOWER); + $event = $headers['x-github-event'] ?? 'Unknown'; + $delivery = $headers['x-github-delivery'] ?? 'Unknown'; // Extract common data $action = $payload['action'] ?? null;