Caffeine Package – prevent forms from timing out

If you have a longer form in your project, it takes time to fill it in. And if it’s hidden under user session, it will time out – by default, in 120 minutes. Seems like enough time, but what if a user left the form open for longer time, went for coffee or something, and then tries to finish it after a while? There is a package to make session active.

It’s called Caffeine for Laravel (I guess, the name means “a medicine for Laravel form not to fall asleep”). It works in a really simple way – by sending background ajax requests to server from time to time, therefore making session active.

How to use it:

1. Composer require:

composer require genealabs/laravel-caffeine:~0.3.0

(or different version 0.2.0 for Laravel 5.1)

2. Service Provider:


3. Additional middleware in app/Http/Kernel.php:

protected $middleware = [
  // ...

By default, the package sends refresh requests every 5 minutes. You can change that time interval by changing the config. But first you need to publish it:

php artisan vendor:publish --tag=genealabs-laravel-caffeine

And then go to /app/config/genealabs-laravel-caffeine.php file to change settings.

Expecting more information? No, that’s it – simple package to effectively achieve one simple function. Great work and respect to author Mike Bronner!

Like our articles?
Check out our Laravel online courses!


Please enter your comment!
Please enter your name here