Requests & Responses

Interagir avec le cycle HTTP de manière élégante.

L'objet Request

L'objet River\Request vous donne accès aux données de la requête entrante. Il est automatiquement injecté dans vos contrôleurs.

public function store(Request $request): Response
{
    // Récupérer $_POST
    $name = $request->post('name');
    
    // Récupérer $_GET
    $sort = $request->get('sort', 'desc'); // avec valeur par défaut
    
    // Méthode HTTP
    if ($request->method() === 'POST') { ... }
    
    // URL
    $uri = $request->uri();
    
    // Sécurité
    if ($request->is_secure()) { ... } // true si HTTPS
}

L'objet Response

La classe River\Response est immutable (lecture seule). Vous devez utiliser les factory methods pour en créer une.

Réponse HTML

use River\Response;

return Response::html('<h1>Hello</h1>');
return Response::html('Page non trouvée', 404);

Réponse JSON

return Response::json(['status' => 'success', 'id' => 123]);

Redirection

return Response::redirect('/login');
return Response::redirect('https://google.com');

Modifier une réponse

Comme la réponse est immutable, les modificateurs retournent une nouvelle instance :

$response = Response::json($data);
return $response->with_header('X-Custom-Header', 'Value')
                ->with_status(201);