diff --git a/src/Tree/App.config b/src/Tree/App.config index fc9a954f5d50eac03ef5da1f2dd8452ec1892a1c..1d6b42ea964f8595b6acbc9eb77cc2b59aa5a615 100644 --- a/src/Tree/App.config +++ b/src/Tree/App.config @@ -149,7 +149,7 @@ </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Coscine.Database" publicKeyToken="767d77427707b70a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-1.21.0.0" newVersion="1.21.0.0" /> + <bindingRedirect oldVersion="0.0.0.0-1.22.2.0" newVersion="1.22.2.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Options" publicKeyToken="adb9793829ddae60" culture="neutral" /> diff --git a/src/Tree/Controllers/TreeController.cs b/src/Tree/Controllers/TreeController.cs index c2f6a04198267994ba806509e594c3d3ece91da3..9ee59af5e906a69598f22e862870897aa272627b 100644 --- a/src/Tree/Controllers/TreeController.cs +++ b/src/Tree/Controllers/TreeController.cs @@ -59,7 +59,8 @@ namespace Coscine.Api.Tree.Controllers public Uri GenerateId(string resourceId, string path) { - return new Uri($"https://purl.org/coscine/md/{resourceId}/{path}/".ToLower()); + var escapedPath = Uri.EscapeDataString(Uri.UnescapeDataString(path)); + return new Uri($"https://purl.org/coscine/md/{resourceId}/{escapedPath}/".ToLower()); } [HttpGet("[controller]/{resourceId}/{path}")] @@ -86,7 +87,7 @@ namespace Coscine.Api.Tree.Controllers } var provider = GetResourceTypeName(resource); - var infos = await _waterbutlerInterface.GetObjectInfoAsync(HttpUtility.UrlDecode(path), provider, authHeader); + var infos = await _waterbutlerInterface.GetObjectInfoAsync(Uri.UnescapeDataString(path), provider, authHeader); // Not found if (infos == null) @@ -98,7 +99,7 @@ namespace Coscine.Api.Tree.Controllers foreach (var info in infos) { - var id = GenerateId(resourceId, HttpUtility.UrlEncode(info.Path)); + var id = GenerateId(resourceId, info.Path); if (_util.HasGraph(id)) { var graph = _util.GetGraph(id); @@ -121,7 +122,7 @@ namespace Coscine.Api.Tree.Controllers public IActionResult StoreMetadataForFile(string resourceId, string path) { var innerBlock = ObjectFactory<JToken>.DeserializeFromStream(Request.Body); - var graphNameUri = (GenerateId(resourceId, path)); + var graphNameUri = GenerateId(resourceId, path); var json = new JObject { @@ -205,7 +206,6 @@ namespace Coscine.Api.Tree.Controllers { return BadRequest("Data has the wrong format!"); } - // store the data if (_util.HasGraph(graphNameUri)) { diff --git a/src/Tree/Program.cs b/src/Tree/Program.cs index 61ac6abcdc2d4bb69ba41aef436c250a0ceb58d9..4e62cb67a975129085ad641d4ad86f9d3492c9db 100644 --- a/src/Tree/Program.cs +++ b/src/Tree/Program.cs @@ -7,6 +7,7 @@ namespace Coscine.Api.Tree { public static void Main() { + System.Net.ServicePointManager.DefaultConnectionLimit = int.MaxValue; InitializeWebService<Startup>(); } } diff --git a/src/Tree/Tree.csproj b/src/Tree/Tree.csproj index 50b7175f3a259517c200cb25dd3fa449aacf868a..48f142896995e40d4bb4e14ade4e253e43f4b8fe 100644 --- a/src/Tree/Tree.csproj +++ b/src/Tree/Tree.csproj @@ -45,8 +45,8 @@ <Reference Include="Consul, Version=0.7.2.6, Culture=neutral, PublicKeyToken=20a6ad9a81df1d95, processorArchitecture=MSIL"> <HintPath>..\packages\Consul.0.7.2.6\lib\net45\Consul.dll</HintPath> </Reference> - <Reference Include="Coscine.Api.WaterbutlerHelper, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\packages\Coscine.Api.WaterbutlerHelper.1.0.0-topic-802-refact0010\lib\net461\Coscine.Api.WaterbutlerHelper.dll</HintPath> + <Reference Include="Coscine.Api.WaterbutlerHelper, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Coscine.Api.WaterbutlerHelper.1.1.0-topic-853-refact0003\lib\net461\Coscine.Api.WaterbutlerHelper.dll</HintPath> </Reference> <Reference Include="Coscine.ApiCommons, Version=1.8.0.0, Culture=neutral, PublicKeyToken=af4c1345df96546b, processorArchitecture=MSIL"> <HintPath>..\packages\Coscine.ApiCommons.1.8.0\lib\net461\Coscine.ApiCommons.dll</HintPath> @@ -54,14 +54,14 @@ <Reference Include="Coscine.Configuration, Version=1.5.0.0, Culture=neutral, PublicKeyToken=ce3d7a32d7dc1e5a, processorArchitecture=MSIL"> <HintPath>..\packages\Coscine.Configuration.1.5.0\lib\net461\Coscine.Configuration.dll</HintPath> </Reference> - <Reference Include="Coscine.Database, Version=1.21.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL"> - <HintPath>..\packages\Coscine.Database.1.21.0\lib\net461\Coscine.Database.dll</HintPath> + <Reference Include="Coscine.Database, Version=1.22.2.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL"> + <HintPath>..\packages\Coscine.Database.1.22.2-product-801-refa0003\lib\net461\Coscine.Database.dll</HintPath> </Reference> <Reference Include="Coscine.Logging, Version=1.2.0.0, Culture=neutral, PublicKeyToken=e1ed402bc3f6525e, processorArchitecture=MSIL"> <HintPath>..\packages\Coscine.Logging.1.2.0\lib\net461\Coscine.Logging.dll</HintPath> </Reference> - <Reference Include="Coscine.Metadata, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\packages\Coscine.Metadata.1.1.2\lib\net461\Coscine.Metadata.dll</HintPath> + <Reference Include="Coscine.Metadata, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Coscine.Metadata.1.3.0-topic-853-refact0001\lib\net461\Coscine.Metadata.dll</HintPath> </Reference> <Reference Include="dotNetRDF, Version=2.5.1.0, Culture=neutral, PublicKeyToken=6055ffe4c97cc780, processorArchitecture=MSIL"> <HintPath>..\packages\dotNetRDF.2.5.1\lib\net40\dotNetRDF.dll</HintPath> diff --git a/src/Tree/packages.config b/src/Tree/packages.config index e9a44ed3b6eb53ba704af3fbdfd18826a0ad129e..20e9909c176b2a02d62a5cf2e17205ef92d6df7e 100644 --- a/src/Tree/packages.config +++ b/src/Tree/packages.config @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="Consul" version="0.7.2.6" targetFramework="net461" /> - <package id="Coscine.Api.WaterbutlerHelper" version="1.0.0-topic-802-refact0010" targetFramework="net461" /> + <package id="Coscine.Api.WaterbutlerHelper" version="1.1.0-topic-853-refact0003" targetFramework="net461" /> <package id="Coscine.ApiCommons" version="1.8.0" targetFramework="net461" /> <package id="Coscine.Configuration" version="1.5.0" targetFramework="net461" /> - <package id="Coscine.Database" version="1.21.0" targetFramework="net461" /> + <package id="Coscine.Database" version="1.22.2-product-801-refa0003" targetFramework="net461" /> <package id="Coscine.Logging" version="1.2.0" targetFramework="net461" /> - <package id="Coscine.Metadata" version="1.1.2" targetFramework="net461" /> + <package id="Coscine.Metadata" version="1.3.0-topic-853-refact0001" targetFramework="net461" /> <package id="dotNetRDF" version="2.5.1" targetFramework="net461" /> <package id="dotNetRDF.Data.Virtuoso" version="2.5.1" targetFramework="net461" /> <package id="EntityFramework" version="6.2.0" targetFramework="net461" />