Recursos HTTP experimentais
Substituição do método HTTP
GET e POST são os únicos métodos HTTP suportados por formulários HTML em navegadores web. Nessas situações, você pode simular outros métodos usando Inphinit\Experimental\Http\Method::override(). Veja o exemplo abaixo:
use Inphinit\Experimental\Http\Method;
Method::override();
// E.g., http://localhost/form
$app->action('GET', '/form', function () {
echo '<form action="/status" method="POST">';
// Override
echo '<input type="hidde" name="_method" value="PUT">';
echo '<input type="text" name="message"><br>';
echo '<button>Update status</button>';
echo '</form>';
});
// E.g., http://localhost/status
$app->action('PUT', '/status', function () {
echo 'Status updated!<br>';
echo '<a href="/status?_method=DELETE">clear<a>';
});
// E.g., http://localhost/status
$app->action('DELETE', '/status', function () {
echo 'Status cleared!';
});
Campos e string de consulta
Os campos (POST) e as strings de consulta (GET) suportados são _methode_HttpMethod
Cabeçalhos
Cabeçalhos suportados: x-http-method, x-http-method-overridee x-method-override. Exemplo:
POST /status HTTP/1.1
x-http-method: PUT
foo=1&bar=2&baz=3