Testovani presenteru a RAW POST data

- Blujacker
- Člen | 89
Ahoj,
testuji presenter, ktery simuluje web service. Potrebuji mu tedy predat raw post data (php://input), ale netusim jak. Doposud jsem pouzival
$request = new Nette\Application\Request($name, $method, $params, $post);
$presenter->run($request);
Ale Nette\Application\Request nema zadny parameter
setRawBody (zatimco treba Nette\Http\Request ma metodu
getRawBody).
Dekuji za kazde nakopnuti!

- Milo
- Nette Core | 1283
Jak na ta data saháš v presenteru? Jestli přímo přes
php://input, tak to snadno nejde. Musel by sis rozjet vlasní HTTP
server pro testy.
Jestli na ně saháš přes Nette\Http\Request::getRawBody(),
nahraď Request v kontejneru a přes konstruktor mu dej $rawBodyCallback.

- Blujacker
- Člen | 89
Pouzival jsem php://input, ale nakonec se mi to vse podarilo
prepsat na getRawBody(). Ale bohuzel si nejsem jisty, jak nahradit
sluzbu v kontejneru svou vlastni. Request, ktery bych ocekaval bych vytvarel
asi takto:
public function testValidSmartcard(){
$headers = [
"username" => "user",
"password" => "pwd",
];
$this->request = new \Nette\Http\Request(new \Nette\Http\UrlScript, NULL, NULL, NULL, NULL, $headers, "POST", NULL, NULL, function (){return "request's body";} );
}
Ale netusim, jak ho dostat do presenteru.
Dekuji