Skip to content

Commit 09dfe28

Browse files
committed
Add configurable route
1 parent 555a5a9 commit 09dfe28

File tree

3 files changed

+20
-12
lines changed

3 files changed

+20
-12
lines changed

config/config.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22

33
return [
44
'dripIntervalInMilliSeconds' => 300000,
5+
'route' => 'genealabs/laravel-caffeine/drip',
56
];

src/Http/Middleware/LaravelCaffeineDripMiddleware.php

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
<?php namespace GeneaLabs\LaravelCaffeine\Http\Middleware;
1+
<?php
2+
3+
namespace GeneaLabs\LaravelCaffeine\Http\Middleware;
24

35
use Closure;
46

@@ -7,8 +9,8 @@ class LaravelCaffeineDripMiddleware
79
/**
810
* Handle an incoming request.
911
*
10-
* @param \Illuminate\Http\Request $request
11-
* @param \Closure $next
12+
* @param \Illuminate\Http\Request $request
13+
* @param \Closure $next
1214
*
1315
* @return mixed
1416
*/
@@ -17,7 +19,7 @@ public function handle($request, Closure $next)
1719
$content = null;
1820
$response = $next($request);
1921

20-
if (! method_exists($response, 'getOriginalContent')) {
22+
if (!method_exists($response, 'getOriginalContent')) {
2123
return $response;
2224
}
2325

@@ -29,14 +31,17 @@ public function handle($request, Closure $next)
2931

3032
if (is_string($content)
3133
&& (strpos($content, '_token')
32-
|| (preg_match("/\<meta name=[\"\']csrf[_-]token[\"\']/", $content)))) {
33-
$newContent = "<script>setInterval(function(){";
34+
|| (preg_match("/\<meta name=[\"\']csrf[_-]token[\"\']/", $content)))
35+
) {
36+
$dripUrl = url(config('genealabs-laravel-caffeine.route', 'genealabs/laravel-caffeine/drip'));
37+
$interval = config('genealabs-laravel-caffeine.dripIntervalInMilliSeconds', 300000);
38+
39+
$newContent = '<script>setInterval(function(){';
3440
$newContent .= "var e=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject('Microsoft.XMLHTTP');";
35-
$newContent .= "e.open('GET','" . url('/genealabs/laravel-caffeine/drip') . "',!0);";
41+
$newContent .= "e.open('GET','{$dripUrl}',!0);";
3642
$newContent .= "e.setRequestHeader('X-Requested-With','XMLHttpRequest');";
37-
$newContent .= "e.send();},";
38-
$newContent .= config('genealabs-laravel-caffeine.dripIntervalInMilliSeconds', 300000);
39-
$newContent .= ");</script></body>";
43+
$newContent .= "e.send();}, {$interval});</script></body>";
44+
4045
$content = str_replace('</body>', $newContent, $content);
4146
$response->setContent($content);
4247
}

src/Http/routes.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
use GeneaLabs\LaravelCaffeine\Helper;
44
use GeneaLabs\LaravelCaffeine\Http\Controllers\LaravelCaffeineController;
55

6+
$dripRoute = config('genealabs-laravel-caffeine.route', 'genealabs/laravel-caffeine/drip');
7+
68
if ((new Helper())->routeHasMiddlewareGroup('web')) {
79
Route::group(['middleware' => ['web']], function () {
8-
Route::get('genealabs/laravel-caffeine/drip', LaravelCaffeineController::class . '@drip');
10+
Route::get($dripRoute, LaravelCaffeineController::class.'@drip');
911
});
1012
} else {
11-
Route::get('genealabs/laravel-caffeine/drip', LaravelCaffeineController::class . '@drip');
13+
Route::get($dripRoute, LaravelCaffeineController::class.'@drip');
1214
}

0 commit comments

Comments
 (0)