<?php

namespace Acms\Services\Setup\Http;

/**
 * setup の PSR-15 風ミドルウェア。認証・CSRF・再実行ガードなどの横断関心事を、基底クラス継承では
 * なく合成（パイプライン）で表現するための最小インターフェース。
 *
 * $next はパイプラインの次段（最終的に Action）を表す `callable(Request): Response`。
 */
interface Middleware
{
    /**
     * @param callable(Request): Response $next
     */
    public function process(Request $request, callable $next): Response;
}
