I had the need to render completely different HTML depending on the HTTP method used to reach an Astro page.
I used this technique:
---
//... some server side logic
---
{Astro.request.method === 'POST' &&
<div>
//...
</div>
}
{Astro.request.method === 'DELETE' &&
<div>
//...
</div>
}
{Astro.request.method === 'GET' &&
<div>
//...
</div>
}