mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-06-04 11:24:44 +00:00
key needs to be specified as a request object with an "authorized_key" parameter. Also the management console API wants it as a URL parameter rather than as a json body payload
Fix UriExtension ApplyParameter() to be able to apply parameters to non absolute URLs
This commit is contained in:
committed by
Brendan Forster
parent
a665ecd104
commit
257fe4429a
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Octokit
|
||||
@@ -45,6 +46,7 @@ namespace Octokit
|
||||
|
||||
var endpoint = ApiUrls.EnterpriseManagementConsoleMaintenance(managementConsolePassword, ApiConnection.Connection.BaseAddress);
|
||||
|
||||
endpoint = CorrectEndpointForManagementConsole(endpoint);
|
||||
return ApiConnection.Get<MaintenanceModeResponse>(endpoint);
|
||||
}
|
||||
|
||||
@@ -65,36 +67,38 @@ namespace Octokit
|
||||
return ApiConnection.Post<MaintenanceModeResponse>(endpoint, maintenance.ToFormUrlEncodedParameterString());
|
||||
}
|
||||
|
||||
public Task<IReadOnlyList<AuthorizedManagementKey>> GetAllAuthorizedKeys(string managementConsolePassword)
|
||||
public Task<IReadOnlyList<AuthorizedKey>> GetAllAuthorizedKeys(string managementConsolePassword)
|
||||
{
|
||||
Ensure.ArgumentNotNullOrEmptyString(managementConsolePassword, "managementConsolePassword");
|
||||
|
||||
var endpoint = ApiUrls.EnterpriseManagementConsoleAuthorizedKeys(managementConsolePassword);
|
||||
endpoint = CorrectEndpointForManagementConsole(endpoint);
|
||||
|
||||
return ApiConnection.Get<IReadOnlyList<AuthorizedManagementKey>>(endpoint);
|
||||
endpoint = CorrectEndpointForManagementConsole(endpoint);
|
||||
return ApiConnection.Get<IReadOnlyList<AuthorizedKey>>(endpoint);
|
||||
}
|
||||
|
||||
public Task<IReadOnlyList<AuthorizedManagementKey>> AddAuthorizedKey(string key, string managementConsolePassword)
|
||||
public Task<IReadOnlyList<AuthorizedKey>> AddAuthorizedKey(AuthorizedKeyRequest authorizedKey, string managementConsolePassword)
|
||||
{
|
||||
Ensure.ArgumentNotNullOrEmptyString(key, "publicKeyContent");
|
||||
Ensure.ArgumentNotNull(authorizedKey, "authorizedKey");
|
||||
Ensure.ArgumentNotNullOrEmptyString(managementConsolePassword, "managementConsolePassword");
|
||||
|
||||
var endpoint = ApiUrls.EnterpriseManagementConsoleAuthorizedKeys(managementConsolePassword);
|
||||
endpoint = CorrectEndpointForManagementConsole(endpoint);
|
||||
endpoint = endpoint.ApplyParameters(authorizedKey.ToParametersDictionary());
|
||||
|
||||
return ApiConnection.Post<IReadOnlyList<AuthorizedManagementKey>>(endpoint, key);
|
||||
endpoint = CorrectEndpointForManagementConsole(endpoint);
|
||||
return ApiConnection.Post<IReadOnlyList<AuthorizedKey>>(endpoint);
|
||||
}
|
||||
|
||||
public Task DeleteAuthorizedKey(string key, string managementConsolePassword)
|
||||
public Task DeleteAuthorizedKey(AuthorizedKeyRequest authorizedKey, string managementConsolePassword)
|
||||
{
|
||||
Ensure.ArgumentNotNullOrEmptyString(key, "publicKeyContent");
|
||||
Ensure.ArgumentNotNull(authorizedKey, "authorizedKey");
|
||||
Ensure.ArgumentNotNullOrEmptyString(managementConsolePassword, "managementConsolePassword");
|
||||
|
||||
var endpoint = ApiUrls.EnterpriseManagementConsoleAuthorizedKeys(managementConsolePassword);
|
||||
endpoint = CorrectEndpointForManagementConsole(endpoint);
|
||||
endpoint = endpoint.ApplyParameters(authorizedKey.ToParametersDictionary());
|
||||
|
||||
return ApiConnection.Delete(endpoint, key);
|
||||
endpoint = CorrectEndpointForManagementConsole(endpoint);
|
||||
return ApiConnection.Delete(endpoint);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,10 +29,10 @@ namespace Octokit
|
||||
/// <returns>The <see cref="MaintenanceModeResponse"/>.</returns>
|
||||
Task<MaintenanceModeResponse> EditMaintenanceMode(UpdateMaintenanceRequest maintenance, string managementConsolePassword);
|
||||
|
||||
Task<IReadOnlyList<AuthorizedManagementKey>> GetAllAuthorizedKeys(string managementConsolePassword);
|
||||
Task<IReadOnlyList<AuthorizedKey>> GetAllAuthorizedKeys(string managementConsolePassword);
|
||||
|
||||
Task<IReadOnlyList<AuthorizedManagementKey>> AddAuthorizedKey(string key, string managementConsolePassword);
|
||||
Task<IReadOnlyList<AuthorizedKey>> AddAuthorizedKey(AuthorizedKeyRequest authorizedKey, string managementConsolePassword);
|
||||
|
||||
Task DeleteAuthorizedKey(string key, string managementConsolePassword);
|
||||
Task DeleteAuthorizedKey(AuthorizedKeyRequest authorizedKey, string managementConsolePassword);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,15 +56,21 @@ namespace Octokit
|
||||
: uri.OriginalString.Substring(0, hasQueryString);
|
||||
|
||||
string queryString;
|
||||
string uriWithoutQuery;
|
||||
if (uri.IsAbsoluteUri)
|
||||
{
|
||||
queryString = uri.Query;
|
||||
uriWithoutQuery = uri.AbsoluteUri;
|
||||
}
|
||||
else
|
||||
{
|
||||
queryString = hasQueryString == -1
|
||||
? ""
|
||||
: uri.OriginalString.Substring(hasQueryString);
|
||||
|
||||
uriWithoutQuery = hasQueryString == -1
|
||||
? uri.ToString()
|
||||
: uri.OriginalString.Substring(0, hasQueryString);
|
||||
}
|
||||
|
||||
var values = queryString.Replace("?", "")
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using Octokit.Internal;
|
||||
|
||||
namespace Octokit
|
||||
{
|
||||
[DebuggerDisplay("{DebuggerDisplay,nq}")]
|
||||
public class AuthorizedKeyRequest : RequestParameters
|
||||
{
|
||||
public AuthorizedKeyRequest(string authorizedKey)
|
||||
{
|
||||
AuthorizedKey = authorizedKey;
|
||||
}
|
||||
|
||||
[Parameter(Key = "authorized_key")]
|
||||
public string AuthorizedKey { get; private set; }
|
||||
|
||||
internal string DebuggerDisplay
|
||||
{
|
||||
get
|
||||
{
|
||||
return string.Format(CultureInfo.InvariantCulture, "AuthorizedKey: {0}", AuthorizedKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -2,12 +2,12 @@
|
||||
|
||||
namespace Octokit
|
||||
{
|
||||
public class AuthorizedManagementKey
|
||||
public class AuthorizedKey
|
||||
{
|
||||
public AuthorizedManagementKey()
|
||||
public AuthorizedKey()
|
||||
{ }
|
||||
|
||||
public AuthorizedManagementKey(string key, string prettyPrint, string comment)
|
||||
public AuthorizedKey(string key, string prettyPrint, string comment)
|
||||
{
|
||||
Key = key;
|
||||
PrettyPrint = prettyPrint;
|
||||
Reference in New Issue
Block a user