[ 'vitec/json-prefix-rewrite' => [ 'target' => \Evomedien\Vitec\Middleware\JsonPrefixRewrite::class, 'after' => [ 'typo3/cms-core/normalized-params-attribute', ], 'before' => [ 'typo3/cms-frontend/site', 'vitec/form-submission', 'vitec/success-story-path-rewrite', 'vitec/download-file', ], ], 'vitec/form-submission' => [ 'target' => \Evomedien\Vitec\Middleware\FormSubmissionMiddleware::class, 'after' => [ 'typo3/cms-core/normalized-params-attribute', ], 'before' => [ 'typo3/cms-frontend/site', ], ], 'vitec/success-story-path-rewrite' => [ 'target' => \Evomedien\Vitec\Middleware\SuccessStoryPathRewrite::class, 'after' => [ 'typo3/cms-core/normalized-params-attribute', ], 'before' => [ 'typo3/cms-frontend/site', ], ], 'vitec/download-file' => [ 'target' => \Evomedien\Vitec\Middleware\DownloadFileMiddleware::class, 'after' => [ 'typo3/cms-core/normalized-params-attribute', ], 'before' => [ 'typo3/cms-frontend/site', ], ], // Self-healing sync of the SSR routing flag file against the // Site Set switch vitec.ssr.enabled (no core event fires on // settings save, hence per-request sync; cheap file_exists when // nothing changed). Also registered for the backend below. 'vitec/sync-ssr-flag' => [ 'target' => \Evomedien\Vitec\Middleware\SyncSsrFlag::class, 'after' => [ 'typo3/cms-core/normalized-params-attribute', ], ], // Client error reports from the React frontend: // POST /api/vitec/client-error -> tx_vitec_clienterrorlog, 204 // (0072-FE section 4 / 0077-BE). Answers before site resolution, // no session, rate-limited per IP, 8 KB body limit. Placed after // the /_json strip so the prefixed form reaches it as well. 'vitec/client-error' => [ 'target' => \Evomedien\Vitec\Middleware\ClientErrorMiddleware::class, 'after' => [ 'typo3/cms-core/normalized-params-attribute', 'vitec/json-prefix-rewrite', ], 'before' => [ 'typo3/cms-frontend/site', 'vitec/form-submission', ], ], // Outer response filter: Cache-Control: no-cache + ETag/304 for // /_json (tickets 0011-FE / 0055-BE). 'vitec/json-cache-headers' => [ 'target' => \Evomedien\Vitec\Middleware\JsonCacheHeaders::class, 'after' => [ 'typo3/cms-core/normalized-params-attribute', ], 'before' => [ 'vitec/json-prefix-rewrite', ], ], ], 'backend' => [ 'vitec/sync-ssr-flag' => [ 'target' => \Evomedien\Vitec\Middleware\SyncSsrFlag::class, 'after' => [ 'typo3/cms-core/normalized-params-attribute', ], ], ], ];