Skip to content
This repository was archived by the owner on Jul 17, 2026. It is now read-only.

Detect AJAX requests via X-AJAX-HANDLER header (OctoberCMS 4.1) - #3

Merged
mrmaarek merged 1 commit into
developfrom
feature/oc42
Jun 2, 2026
Merged

Detect AJAX requests via X-AJAX-HANDLER header (OctoberCMS 4.1)#3
mrmaarek merged 1 commit into
developfrom
feature/oc42

Conversation

@JoshuaTerra

@JoshuaTerra JoshuaTerra commented May 27, 2026

Copy link
Copy Markdown
Collaborator

Toegepaste wijzigingen

MaintenanceResponder detecteert AJAX-requests in maintenance mode nu ook via de header X-AJAX-HANDLER (OctoberCMS 4.1+, Larajax), naast de bestaande legacy header X-OCTOBER-REQUEST-HANDLER (OC <= 4.0). Hiermee krijgen AJAX-requests op OC 4.1.x weer een plain-text respons in plaats van de HTML maintenance-pagina.

Gemaakte keuzes

  • Beide headers worden geaccepteerd zodat de plugin backwards compatible blijft met OC 4.0.x — zie classes/MaintenanceResponder.php:42.
  • Toelichtende comment toegevoegd boven de check zodat duidelijk is welke header bij welke OC-versie hoort.
  • Versie bumped naar 2.3.1 (patch) in updates/version.yaml en CHANGELOG.md.

Testprocedure en resultaten

Op een project met OC 4.1.x:

  1. Activeer maintenance mode.
  2. Doe een AJAX-request met de nieuwe header:
    curl -i -H "X-Requested-With: XMLHttpRequest" -H "X-AJAX-HANDLER: onTest" https:///
    Verwacht: plain-text body met de maintenance-AJAX-message en de geconfigureerde status code (default 503), geen HTML.
  3. Herhaal met de legacy header X-OCTOBER-REQUEST-HANDLER: onTest — moet hetzelfde gedrag opleveren (backwards compat OC 4.0.x).
  4. Doe een gewoon (niet-AJAX) request — moet nog steeds de HTML 503 maintenance-pagina retourneren.

@JoshuaTerra
JoshuaTerra requested a review from mrmaarek May 27, 2026 09:12
@mrmaarek
mrmaarek merged commit c4ed04d into develop Jun 2, 2026
0 of 8 checks passed
@mrmaarek
mrmaarek deleted the feature/oc42 branch June 4, 2026 12:10
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants