lodfe/app/Http/Middleware/DatasetMiddleware.php

38 lines
939 B
PHP
Raw Normal View History

<?php
namespace App\Http\Middleware;
use Closure;
class DatasetMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (!$request->route()) {
return $next($request);
}
$datasetName = explode('.', $request->route()[1]['as'])[1];
$currentDatasetConfig = config('datasets.' . $datasetName);
2020-01-23 16:19:21 +09:00
$id = urldecode($request->route('id'));
$resourceUri = str_replace('{id}', $id, $currentDatasetConfig['resource_uri']);
$dataUri = str_replace('{id}', $id, $currentDatasetConfig['data_uri']);
$request->merge([
'datasetConfig' => $currentDatasetConfig,
'resourceUri' => $resourceUri,
'dataUri' => $dataUri,
]);
return $next($request);
}
}