{
    "ok": true,
    "source_lines": 32,
    "parsed_route": {
        "path": "/produk",
        "methods": [
            "GET",
            "POST"
        ],
        "name": "produk.index"
    },
    "parsed_sec": {
        "csrf": true,
        "rate_limit": 60
    },
    "metrics": {
        "auto_csrf_forms_protected": 2,
        "auto_xss_vars_escaped": 2
    },
    "compiled_php": "<?php\n/**\n * RPOOLCODE (.rp) Compiled Artifact\n * Source: live_playground.rp\n * Compiled At: 2026-10-27 08:04:38 UTC\n * DO NOT EDIT MANUALLY — Generated automatically by RpCompiler\n */\ndeclare(strict_types=1);\n\nreturn [\n    'route' => array (\n  'path' => '/produk',\n  'methods' => \n  array (\n    0 => 'GET',\n    1 => 'POST',\n  ),\n  'name' => 'produk.index',\n),\n    'security' => array (\n  'csrf' => true,\n  'headers' => 'strict',\n  'rate_limit' => 60,\n  'auth' => false,\n),\n    'logic' => static function (\n        \\RpoolCode\\Core\\Application $app,\n        \\RpoolCode\\Core\\Http\\Request $request,\n        \\RpoolCode\\Core\\Http\\Response $response,\n        array $routeParams = []\n    ): mixed {\n        extract($routeParams, EXTR_SKIP);\n        if ($request->isPost()) {\n        $input = $request->validate(['title' => 'required|min:3']);\n        Post::create($input);\n    }\n    $items = Post::where('status', 'published')->latest()->get();\n        $__defined = get_defined_vars();\n        unset($__defined['app'], $__defined['request'], $__defined['response'], $__defined['routeParams']);\n        return $__defined;\n    },\n    'view' => static function (\n        array $__rpVars,\n        ?string &$__rpLayout = null,\n        array &$__rpLayoutData = []\n    ): string {\n        extract($__rpVars, EXTR_SKIP);\n        ob_start();\n        ?><h2>Daftar Produk: <?= '<span class=\"rp-badge\">' . \\RpoolCode\\Core\\Security\\RpSecurity::escape(count($items)) . '</span>' ?></h2>\n\n    <!-- Tanpa menulis <?= \\RpoolCode\\Core\\Security\\RpSecurity::csrfField() ?>, RpCompiler otomatis menyuntikkan _rp_csrf! -->\n    <form method=\"POST\" action=\"/produk\"><?= \\RpoolCode\\Core\\Security\\RpSecurity::csrfField() ?>\n        <input type=\"text\" name=\"title\" required>\n        <button type=\"submit\">Simpan</button>\n    </form>\n\n    <?php foreach ($items as $item): ?>\n        <div class=\"item\"><?= \\RpoolCode\\Core\\Security\\RpSecurity::escape($item['title']) ?></div>\n    <?php endforeach; ?><?php\n        return (string) ob_get_clean();\n    },\n];"
}