Skip to content

Commit

Permalink
better middleware
Browse files Browse the repository at this point in the history
  • Loading branch information
QuentinGab committed Nov 11, 2024
1 parent db94032 commit 3dae695
Showing 1 changed file with 21 additions and 23 deletions.
44 changes: 21 additions & 23 deletions src/CaptureReferrerMiddleware.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,36 +16,34 @@ class CaptureReferrerMiddleware
*/
public function handle(Request $request, Closure $next): Response
{
$sources = $this->getReferrerBySource($request);
$sources = Referrer::getSources();

if ($sources->count()) {
Referrer::put($sources);
}

return $next($request);
}

public function getReferrerBySource(Request $request): ReferrerSources
{
$items = Referrer::getSources();

$sources = Referrer::getSourcesFromConfig();
$updated = false;

foreach ($sources as $sourceName) {
foreach (Referrer::getSourcesFromConfig() as $sourceName) {
$strategy = Referrer::getStrategy($sourceName);
$source = $sourceName::fromRequest($request);

if (
$source->isNotEmpty() &&
! $items->has($source)
) {
$items->put(
source: $source,
strategy: $strategy
);
if ($source->isEmpty()) {
continue;
}

if ($sources->has($source)) {
continue;
}

$sources->put(
source: $source,
strategy: $strategy
);

$updated = true;
}

return $items;
if ($updated) {
Referrer::put($sources);
}

return $next($request);
}
}

0 comments on commit 3dae695

Please sign in to comment.