Skip to content
Snippets Groups Projects
Commit 83308eb3 authored by Benedikt Heinrichs's avatar Benedikt Heinrichs
Browse files

Merge branch 'Issue/1912-uriMadness' into 'dev'

Fix: Custom Uri for dotNetRDF (coscine/issues#1912)

See merge request !54
parents 72a75b56 a6a287fa
No related branches found
No related tags found
2 merge requests!56Release: Sprint/2022-02,!54Fix: Custom Uri for dotNetRDF (coscine/issues#1912)
using Coscine.Api.Blob.Util;
using Coscine.ApiCommons;
using Coscine.Configuration;
using Coscine.Database.DataModel;
......@@ -66,7 +67,7 @@ namespace Coscine.Api.Blob.Controllers
/// <returns> Uri </returns>
public Uri GenerateId(string resourceId, string path)
{
return new Uri($"https://hdl.handle.net/{_prefix}/{resourceId}@path={Uri.EscapeDataString(path)}");
return new CustomUri($"https://hdl.handle.net/{_prefix}/{resourceId}@path={Uri.EscapeDataString(path)}");
}
/// <summary>
......@@ -290,7 +291,7 @@ namespace Coscine.Api.Blob.Controllers
}
var id = GenerateId(resourceId, path);
if (!_rdfStoreConnector.HasGraph(id.AbsoluteUri))
if (!_rdfStoreConnector.HasGraph(id))
{
return StatusCode((int)HttpStatusCode.Forbidden,
"No metadata set has been added for this file.");
......
using System;
namespace Coscine.Api.Blob.Util
{
/// <summary>
/// Adapts the returned ToString of a Uri
/// </summary>
public class CustomUri : Uri
{
/// <summary>
/// Constructs a Custom Uri
/// </summary>
/// <param name="uri"></param>
public CustomUri(string uri) : base(uri)
{
}
/// <summary>
/// Overwrites the ToString for returning the AbsoluteUri (for dotNetRDF)
/// </summary>
/// <returns></returns>
public override string ToString()
{
return AbsoluteUri;
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment