falcon / swetrix-laravel-server-side-tracking
Laravel package for Swetrix server-side tracking middleware
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
pkg:composer/falcon/swetrix-laravel-server-side-tracking
Requires
- php: >=8.2
- illuminate/http: ^12.0
- illuminate/support: ^12.0
Requires (Dev)
- laravel/pint: ^1.0
- orchestra/testbench: ^10.0
- phpunit/phpunit: ^11.0
README
Laravel 12 package that provides middleware and a facade for server-side tracking with Swetrix.
Installation
composer require falcon/swetrix-laravel-server-side-tracking
The service provider is auto-discovered.
Publish the config:
php artisan vendor:publish --tag=swetrix-config
Configuration
Set the following environment variables:
SWETRIX_ENDPOINT=https://api.swetrix.com/log
SWETRIX_PROJECT_ID=your-project-id
SWETRIX_API_TOKEN=your-api-token
Usage
Middleware (deferred)
Attach the middleware to the routes you want to track. The Swetrix call is deferred until after the response is sent.
use Falcon\SwetrixLaravelTracking\Middleware\SwetrixTracking;
Route::middleware([SwetrixTracking::class])->get('/pricing', function () {
return view('pricing');
});
Facade (manual)
Manually send a tracking event.
use Falcon\SwetrixLaravelTracking\Facades\Swetrix;
Swetrix::track([
'page' => 'https://example.com/pricing',
'referrer' => 'https://google.com',
'user_agent' => request()->userAgent(),
'ip' => request()->ip(),
'method' => 'GET',
]);
Track a request
use Falcon\SwetrixLaravelTracking\Facades\Swetrix;
Swetrix::trackRequest(request());
Testing
composer install
vendor/bin/phpunit