fix query including percent-encoded id

This commit is contained in:
Babibubebon 2020-01-23 16:19:21 +09:00
parent e580cd2c53
commit 3b3e1acfeb
2 changed files with 4 additions and 5 deletions

View file

@ -25,10 +25,9 @@ class ResourceController extends Controller
/** /**
* @param $request * @param $request
* @param $id
* @return \EasyRdf_Graph * @return \EasyRdf_Graph
*/ */
protected function querySparql($request, $id) protected function querySparql($request)
{ {
$client = new \EasyRdf_Sparql_Client($request->datasetConfig['endpoint']); $client = new \EasyRdf_Sparql_Client($request->datasetConfig['endpoint']);
$query = <<<EOT $query = <<<EOT
@ -51,7 +50,7 @@ EOT;
*/ */
public function html(Request $request, $id) public function html(Request $request, $id)
{ {
$graph = $this->querySparql($request, urldecode($id)); $graph = $this->querySparql($request);
if ($graph->isEmpty()) { if ($graph->isEmpty()) {
abort(404); abort(404);
} }
@ -75,7 +74,7 @@ EOT;
abort(400); abort(400);
} }
$graph = $this->querySparql($request, $id); $graph = $this->querySparql($request);
try { try {
$data = $graph->serialise(substr($ext, 1)); $data = $graph->serialise(substr($ext, 1));
} catch (\EasyRdf_Exception $e) { } catch (\EasyRdf_Exception $e) {

View file

@ -22,7 +22,7 @@ class DatasetMiddleware
$datasetName = explode('.', $request->route()[1]['as'])[1]; $datasetName = explode('.', $request->route()[1]['as'])[1];
$currentDatasetConfig = config('datasets.' . $datasetName); $currentDatasetConfig = config('datasets.' . $datasetName);
$id = $request->route('id'); $id = urldecode($request->route('id'));
$resourceUri = str_replace('{id}', $id, $currentDatasetConfig['resource_uri']); $resourceUri = str_replace('{id}', $id, $currentDatasetConfig['resource_uri']);
$dataUri = str_replace('{id}', $id, $currentDatasetConfig['data_uri']); $dataUri = str_replace('{id}', $id, $currentDatasetConfig['data_uri']);