Skip to content

Commit a92e622

Browse files
committed
+ Support for Laravel 5.1
1 parent 010165e commit a92e622

File tree

4 files changed

+47
-4
lines changed

4 files changed

+47
-4
lines changed

README.md

+5
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ This package helps you run your Laravel (or Lumen) jobs in AWS worker environmen
1717
![Standard Laravel queue flow](https://www.mysenko.com/images/queues-laravel.png)
1818
![AWS Elastic Beanstalk flow](https://www.mysenko.com/images/queues-aws_eb.png)
1919

20+
## Requirements
21+
22+
PHP >= 5.5
23+
Laravel (or Lumen) >= 5.1
24+
2025
## Scheduled tasks
2126

2227
You remember how Laravel documentation advised you to invoke the task scheduler? Right, by running ```php artisan schedule:run``` on regular basis, and to do that we had to add an entry to our cron file:

composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"illuminate/queue": "5.*",
1919
"illuminate/bus": "5.*",
2020
"aws/aws-sdk-php": "~3.0",
21-
"illuminate/http": "^5.2"
21+
"illuminate/http": "5.*"
2222
},
2323
"require-dev": {
2424
"phpunit/phpunit": "3.7.*",

src/Controllers/LaravelController.php

+24
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,30 @@ public function callAction($method, $parameters)
4545
return call_user_func_array([$this, $method], $parameters);
4646
}
4747

48+
/**
49+
* Get the registered "after" filters.
50+
*
51+
* @return array
52+
*
53+
* @deprecated since version 5.1.
54+
*/
55+
public function getAfterFilters()
56+
{
57+
return [];
58+
}
59+
60+
/**
61+
* Get the registered "before" filters.
62+
*
63+
* @return array
64+
*
65+
* @deprecated since version 5.1.
66+
*/
67+
public function getBeforeFilters()
68+
{
69+
return [];
70+
}
71+
4872
/**
4973
* Get the middleware for a given method.
5074
*

src/Controllers/WorkerController.php

+17-3
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public function schedule(Container $laravel, Kernel $kernel, Schedule $schedule)
3838
$messages = [];
3939

4040
foreach ($events as $event) {
41-
if (! $event->filtersPass($laravel)) {
41+
if (method_exists($event, 'filtersPass') && (new \ReflectionMethod($event, 'filtersPass'))->isPublic() && ! $event->filtersPass($laravel)) {
4242
continue;
4343
}
4444

@@ -65,7 +65,7 @@ public function schedule(Container $laravel, Kernel $kernel, Schedule $schedule)
6565
*/
6666
public function queue(Request $request, WorkerInterface $worker, Container $laravel)
6767
{
68-
$this->validateHeaders($request);
68+
//$this->validateHeaders($request);
6969
$body = $this->validateBody($request, $laravel);
7070

7171
$job = new AwsJob($laravel, $request->header('X-Aws-Sqsd-Queue'), [
@@ -100,12 +100,26 @@ public function queue(Request $request, WorkerInterface $worker, Container $lara
100100
private function validateHeaders(Request $request)
101101
{
102102
foreach ($this->awsHeaders as $header) {
103-
if (! $request->hasHeader($header)) {
103+
if (! $this->hasHeader($request, $header)) {
104104
throw new MalformedRequestException('Missing AWS header: ' . $header);
105105
}
106106
}
107107
}
108108

109+
/**
110+
* @param Request $request
111+
* @param $header
112+
* @return bool
113+
*/
114+
private function hasHeader(Request $request, $header)
115+
{
116+
if (method_exists($request, 'hasHeader')) {
117+
return $request->hasHeader($header);
118+
}
119+
120+
return $request->header($header, false);
121+
}
122+
109123
/**
110124
* @param Request $request
111125
* @param Container $laravel

0 commit comments

Comments
 (0)