File tree Expand file tree Collapse file tree 2 files changed +61
-0
lines changed
src/Application/Responses Expand file tree Collapse file tree 2 files changed +61
-0
lines changed Original file line number Diff line number Diff line change 1+ <?php
2+
3+ /**
4+ * This file is part of the Nette Framework (http://nette.org)
5+ * Copyright (c) 2004 David Grudl (http://davidgrudl.com)
6+ */
7+
8+ namespace Nette \Application \Responses ;
9+
10+ use Nette ;
11+
12+
13+ /**
14+ * Callback response.
15+ */
16+ class CallbackResponse extends Nette \Object implements Nette \Application \IResponse
17+ {
18+ /** @var callable */
19+ private $ callback ;
20+
21+
22+ /**
23+ * @param callable function (Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse)
24+ */
25+ public function __construct (callable $ callback )
26+ {
27+ $ this ->callback = $ callback ;
28+ }
29+
30+
31+ /**
32+ * Sends response to output.
33+ * @return void
34+ */
35+ public function send (Nette \Http \IRequest $ httpRequest , Nette \Http \IResponse $ httpResponse )
36+ {
37+ call_user_func ($ this ->callback , $ httpRequest , $ httpResponse );
38+ }
39+
40+ }
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ /**
4+ * Test: Nette\Application\Responses\CallbackResponse.
5+ */
6+
7+ use Nette \Application \Responses \CallbackResponse ;
8+ use Nette \Http ;
9+ use Tester \Assert ;
10+
11+
12+ require __DIR__ . '/../bootstrap.php ' ;
13+
14+
15+ test (function () {
16+ $ response = new CallbackResponse (function (Http \IRequest $ request , Http \IResponse $ response ) use (& $ ok ) {
17+ $ ok = TRUE ;
18+ });
19+ $ response ->send (new Http \Request (new Http \UrlScript ), new Http \Response );
20+ Assert::true ($ ok );
21+ });
You can’t perform that action at this time.
0 commit comments