Because request->request is a misnomer for solely POST data. It should be request->post. As to the GET/POST data piled in a single variable (as in PHP $_REQUEST), it's fragile as well since it depends on the GPC order. A POST request having foo=bar for the URL http://example.com?foo=xyzzy
will set $_REQUEST['foo'] to either bar or xyzzy, depending on that.