Commit 999b709b authored by L. Ellenbeck's avatar L. Ellenbeck

Fixed dupfinder error coscine/issues#183

parent fd6641ce
......@@ -20,7 +20,7 @@ namespace Coscine.Api.Project.Controllers
{
private readonly IConfiguration _configuration;
private readonly JWTHandler _jwtHandler;
private static readonly HttpClient _client = new HttpClient();
private static readonly HttpClient Client = new HttpClient();
private readonly Authenticator _authenticator;
private readonly ResourceModel _resourceModel;
......@@ -94,7 +94,7 @@ namespace Coscine.Api.Project.Controllers
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", authHeader);
// Thread safe according to msdn and HttpCompletionOption sets it to get only headers first.
var response = await _client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);
var response = await Client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);
if (response.IsSuccessStatusCode)
{
if (response.Content.Headers.Contains("Content-Disposition"))
......@@ -117,7 +117,7 @@ namespace Coscine.Api.Project.Controllers
else
if (response.StatusCode == System.Net.HttpStatusCode.Forbidden)
{
return Forbid($"Not allowed to access the datasource.");
return Forbid("Not allowed to access the datasource.");
}
else
{
......@@ -131,21 +131,8 @@ namespace Coscine.Api.Project.Controllers
}
}
private string BuildRdsAuthHeader(string bucketname)
private string BuildWaterbutlerPayload(Dictionary<string, object> auth, Dictionary<string, object> credentials, Dictionary<string, object> settings)
{
var auth = new Dictionary<string, object>();
var credentials = new Dictionary<string, object>
{
{ "access_key", _configuration.GetString("coscine/global/rds_access_key") },
{ "secret_key", _configuration.GetString("coscine/global/rds_secret_key") }
};
var settings = new Dictionary<string, object>
{
{ "bucket", bucketname }
};
var data = new Dictionary<string, object>
{
{ "auth", auth },
......@@ -162,6 +149,24 @@ namespace Coscine.Api.Project.Controllers
return _jwtHandler.GenerateJwtToken(payload);
}
private string BuildRdsAuthHeader(string bucketname)
{
var auth = new Dictionary<string, object>();
var credentials = new Dictionary<string, object>
{
{ "access_key", _configuration.GetString("coscine/global/rds_access_key") },
{ "secret_key", _configuration.GetString("coscine/global/rds_secret_key") }
};
var settings = new Dictionary<string, object>
{
{ "bucket", bucketname }
};
return BuildWaterbutlerPayload(auth, credentials, settings);
}
private string BuildGitlabAuthHeader(string externalId, string url)
{
......@@ -180,20 +185,7 @@ namespace Coscine.Api.Project.Controllers
{ "host", "https://git.rwth-aachen.de"}
};
var data = new Dictionary<string, object>
{
{ "auth", auth },
{ "credentials", credentials },
{ "settings", settings },
{ "callback_url", "rwth-aachen.de" }
};
var payload = new JwtPayload
{
{ "data", data }
};
return _jwtHandler.GenerateJwtToken(payload);
return BuildWaterbutlerPayload(auth, credentials, settings);
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment