From 3b3e1acfeb1935ebe42a395fb9bb95490d0298e6 Mon Sep 17 00:00:00 2001 From: Babibubebon Date: Thu, 23 Jan 2020 16:19:21 +0900 Subject: [PATCH] fix query including percent-encoded id --- app/Http/Controllers/ResourceController.php | 7 +++---- app/Http/Middleware/DatasetMiddleware.php | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/ResourceController.php b/app/Http/Controllers/ResourceController.php index 181c328..9edee8b 100644 --- a/app/Http/Controllers/ResourceController.php +++ b/app/Http/Controllers/ResourceController.php @@ -25,10 +25,9 @@ class ResourceController extends Controller /** * @param $request - * @param $id * @return \EasyRdf_Graph */ - protected function querySparql($request, $id) + protected function querySparql($request) { $client = new \EasyRdf_Sparql_Client($request->datasetConfig['endpoint']); $query = <<querySparql($request, urldecode($id)); + $graph = $this->querySparql($request); if ($graph->isEmpty()) { abort(404); } @@ -75,7 +74,7 @@ EOT; abort(400); } - $graph = $this->querySparql($request, $id); + $graph = $this->querySparql($request); try { $data = $graph->serialise(substr($ext, 1)); } catch (\EasyRdf_Exception $e) { diff --git a/app/Http/Middleware/DatasetMiddleware.php b/app/Http/Middleware/DatasetMiddleware.php index 537a4ef..1882ed5 100644 --- a/app/Http/Middleware/DatasetMiddleware.php +++ b/app/Http/Middleware/DatasetMiddleware.php @@ -22,7 +22,7 @@ class DatasetMiddleware $datasetName = explode('.', $request->route()[1]['as'])[1]; $currentDatasetConfig = config('datasets.' . $datasetName); - $id = $request->route('id'); + $id = urldecode($request->route('id')); $resourceUri = str_replace('{id}', $id, $currentDatasetConfig['resource_uri']); $dataUri = str_replace('{id}', $id, $currentDatasetConfig['data_uri']);