1
- <?php namespace GeneaLabs \LaravelCaffeine \Http \Middleware ;
1
+ <?php
2
+
3
+ namespace GeneaLabs \LaravelCaffeine \Http \Middleware ;
2
4
3
5
use Closure ;
4
6
@@ -7,8 +9,8 @@ class LaravelCaffeineDripMiddleware
7
9
/**
8
10
* Handle an incoming request.
9
11
*
10
- * @param \Illuminate\Http\Request $request
11
- * @param \Closure $next
12
+ * @param \Illuminate\Http\Request $request
13
+ * @param \Closure $next
12
14
*
13
15
* @return mixed
14
16
*/
@@ -17,7 +19,7 @@ public function handle($request, Closure $next)
17
19
$ content = null ;
18
20
$ response = $ next ($ request );
19
21
20
- if (! method_exists ($ response , 'getOriginalContent ' )) {
22
+ if (!method_exists ($ response , 'getOriginalContent ' )) {
21
23
return $ response ;
22
24
}
23
25
@@ -29,14 +31,17 @@ public function handle($request, Closure $next)
29
31
30
32
if (is_string ($ content )
31
33
&& (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(){ ' ;
34
40
$ 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); " ;
36
42
$ 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
+
40
45
$ content = str_replace ('</body> ' , $ newContent , $ content );
41
46
$ response ->setContent ($ content );
42
47
}
0 commit comments