Class: OpenReceive::ApplicationController

Inherits:
Object
  • Object
show all
Defined in:
app/controllers/openreceive/application_controller.rb

Overview

Base controller for the engine. It inherits DYNAMICALLY from the configured config.parent_controller (default "ActionController::Base"; a host sets "ApplicationController") so the engine automatically gets the host's authentication and current_user.

Set parent_controller in a normal initializer — not after_initialize. Production eager-loads this class before after_initialize runs, so a late parent_controller change is ignored and the default ActionController::Base CSRF :exception strategy remains.

Every action is a thin adapter: it converts the Rails request into the inputs the shared OpenReceive::Server::RequestHandler needs, delegates, and renders the returned [status, headers, body] triple. Controllers and the Rack app therefore cannot drift — the routing/authorize/error semantics live in one place (the server gem's RequestHandler).