Jetty has no restrictions on Request body content based on Method type (GET, POST, PUT, DELETE, etc).
The only complication is if the request uses `Expect: 100-continue`
But even then, the request body content MUST be on the immediately following 100 request.
The only methods with special meaning on Jetty are HEAD (which cannot have a Response body)
and TRACE (which is disabled on WebApps, and causes a "405 Method Not Allowed")
Now, that being said, having body content on GET is undefined.
A payload within a GET request message has no defined semantics;
sending a payload body on a GET request might cause some existing
implementations to reject the request.
DELETE method is in the same boat.
It also has the same warning.
A payload within a DELETE request message has no defined semantics;
sending a payload body on a DELETE request might cause some existing
implementations to reject the request.
This means that if you have a HTTP intermediary (proxy server, firewall, gateway, load balancer, caching server, etc)
any of those intermediaries can also reject the GET request with body content.
We see this quite often.
We also see various Http Client implementations enforcing this no body on GET / DELETE requests.
This is also not Jetty rejecting those requests, it's the client.