Skip to content

Commit d5f0b27

Browse files
authored
Merge pull request #3 from laravel/5.7
Merge
2 parents 9806d00 + 9154ff6 commit d5f0b27

File tree

3 files changed

+38
-4
lines changed

3 files changed

+38
-4
lines changed

src/Concerns/RoutesRequests.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Illuminate\Http\Response;
1212
use Laravel\Lumen\Routing\Pipeline;
1313
use Illuminate\Contracts\Support\Responsable;
14+
use Laravel\Lumen\Http\Request as LumenRequest;
1415
use Laravel\Lumen\Routing\Closure as RoutingClosure;
1516
use Illuminate\Http\Exceptions\HttpResponseException;
1617
use Laravel\Lumen\Routing\Controller as LumenController;
@@ -182,7 +183,7 @@ public function dispatch($request = null)
182183
protected function parseIncomingRequest($request)
183184
{
184185
if (! $request) {
185-
$request = Request::capture();
186+
$request = LumenRequest::capture();
186187
}
187188

188189
$this->instance(Request::class, $this->prepareRequest($request));

src/Http/Request.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
namespace Laravel\Lumen\Http;
4+
5+
use Illuminate\Support\Arr;
6+
use Illuminate\Http\Request as BaseRequest;
7+
8+
class Request extends BaseRequest
9+
{
10+
/**
11+
* Get the route handling the request.
12+
*
13+
* @param string|null $param
14+
* @param mixed $default
15+
*
16+
* @return array|string
17+
*/
18+
public function route($param = null, $default = null)
19+
{
20+
$route = call_user_func($this->getRouteResolver());
21+
22+
if (is_null($route) || is_null($param)) {
23+
return $route;
24+
}
25+
26+
return Arr::get($route[2], $param, $default);
27+
}
28+
}

tests/FullApplicationTest.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?php
22

33
use Mockery as m;
4-
use Illuminate\Http\Request;
54
use Laravel\Lumen\Application;
5+
use Laravel\Lumen\Http\Request;
66
use PHPUnit\Framework\TestCase;
77
use Symfony\Component\HttpFoundation\Request as SymfonyRequest;
88

@@ -21,10 +21,12 @@ public function testBasicRequest()
2121
return response('Hello World');
2222
});
2323

24-
$response = $app->handle(Request::create('/', 'GET'));
24+
$response = $app->handle($request = Request::create('/', 'GET'));
2525

2626
$this->assertEquals(200, $response->getStatusCode());
2727
$this->assertEquals('Hello World', $response->getContent());
28+
29+
$this->assertInstanceOf('Illuminate\Http\Request', $request);
2830
}
2931

3032
public function testBasicSymfonyRequest()
@@ -66,10 +68,13 @@ public function testRequestWithParameters()
6668
return response($bar.$baz);
6769
});
6870

69-
$response = $app->handle(Request::create('/foo/1/2', 'GET'));
71+
$response = $app->handle($request = Request::create('/foo/1/2', 'GET'));
7072

7173
$this->assertEquals(200, $response->getStatusCode());
7274
$this->assertEquals('12', $response->getContent());
75+
76+
$this->assertEquals(1, $request->route('bar'));
77+
$this->assertEquals(2, $request->route('baz'));
7378
}
7479

7580
public function testCallbackRouteWithDefaultParameter()

0 commit comments

Comments
 (0)