Skip to content

Commit 31e81e1

Browse files
[10.x] Ability to configure default session block timeouts (#48795)
* [10.x] Ability to configure default session block timeouts * formatting --------- Co-authored-by: Taylor Otwell <[email protected]>
1 parent d5e8a9d commit 31e81e1

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

src/Illuminate/Session/Middleware/StartSession.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ protected function handleRequestWhileBlocking(Request $request, $session, Closur
8080

8181
$lockFor = $request->route() && $request->route()->locksFor()
8282
? $request->route()->locksFor()
83-
: 10;
83+
: $this->manager->defaultRouteBlockLockSeconds();
8484

8585
$lock = $this->cache($this->manager->blockDriver())
8686
->lock('session:'.$session->getId(), $lockFor)
@@ -90,7 +90,7 @@ protected function handleRequestWhileBlocking(Request $request, $session, Closur
9090
$lock->block(
9191
! is_null($request->route()->waitsFor())
9292
? $request->route()->waitsFor()
93-
: 10
93+
: $this->manager->defaultRouteBlockWaitSeconds()
9494
);
9595

9696
return $this->handleStatefulRequest($request, $session, $next);

src/Illuminate/Session/SessionManager.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,26 @@ public function blockDriver()
236236
return $this->config->get('session.block_store');
237237
}
238238

239+
/**
240+
* Get the maximum number of seconds the session lock should be held for.
241+
*
242+
* @return int
243+
*/
244+
public function defaultRouteBlockLockSeconds()
245+
{
246+
return $this->config->get('session.block_lock_seconds', 10);
247+
}
248+
249+
/**
250+
* Get the maximum number of seconds to wait while attempting to acquire a route block session lock.
251+
*
252+
* @return int
253+
*/
254+
public function defaultRouteBlockWaitSeconds()
255+
{
256+
return $this->config->get('session.block_wait_seconds', 10);
257+
}
258+
239259
/**
240260
* Get the session configuration.
241261
*

0 commit comments

Comments
 (0)