SupportRequestController
Corex\Guides\Support\SupportRequestController · class · Add-ons layer
Where the Guides support form posts (spec 087, FR-005 / FR-007 / FR-008). POST → redirect → GET, so a refresh does not resend and the browser’s back button lands on a plain form rather than a resubmission prompt. The outcome travels in a per-user transient rather than in the query string: the message is the person’s own words, and a query string is written to the web server log, kept in browser history, and forwarded in Referer. The decide() / handle() split is the one {@see \Corex\Config\Access\AccessRequestFormController} uses, for the same reason: exit cannot be caught, so a test that drove the whole handler would take the runner down with it. Every decision here is an ordinary return value; handle() is two WordPress calls that a browser test exercises for real.
Public API
Section titled “Public API”__construct(AdminGuard $guard, SupportSettings $settings, SupportMailer $mailer, SupportFlash $flash)
Section titled “__construct(AdminGuard $guard, SupportSettings $settings, SupportMailer $mailer, SupportFlash $flash)”handle(): void
Section titled “handle(): void”No register(): the provider hooks admin_post_{ACTION} to a closure that resolves this class only when the action fires, so nothing here is built on a page that never posts.