mirror of
https://github.com/LukeHagar/plexcsharp.git
synced 2025-12-06 04:20:46 +00:00
ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.405.8
This commit is contained in:
@@ -45,7 +45,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get Server Activities
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetServerActivitiesResponse> GetServerActivitiesAsync();
|
||||
Task<GetServerActivitiesResponse> GetServerActivitiesAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Cancel Server Activities
|
||||
@@ -54,7 +54,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Cancel Server Activities
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<CancelServerActivitiesResponse> CancelServerActivitiesAsync(string activityUUID);
|
||||
Task<CancelServerActivitiesResponse> CancelServerActivitiesAsync(string activityUUID, RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -90,7 +90,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<GetServerActivitiesResponse> GetServerActivitiesAsync()
|
||||
public async Task<GetServerActivitiesResponse> GetServerActivitiesAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -107,11 +107,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getServerActivities", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -187,7 +220,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<CancelServerActivitiesResponse> CancelServerActivitiesAsync(string activityUUID)
|
||||
public async Task<CancelServerActivitiesResponse> CancelServerActivitiesAsync(string activityUUID, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new CancelServerActivitiesRequest()
|
||||
{
|
||||
@@ -207,11 +240,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("cancelServerActivities", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetTransientTokenResponse> GetTransientTokenAsync(GetTransientTokenQueryParamType type, Scope scope);
|
||||
Task<GetTransientTokenResponse> GetTransientTokenAsync(GetTransientTokenQueryParamType type, Scope scope, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Source Connection Information
|
||||
@@ -51,7 +51,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetSourceConnectionInformationResponse> GetSourceConnectionInformationAsync(string source);
|
||||
Task<GetSourceConnectionInformationResponse> GetSourceConnectionInformationAsync(string source, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Token Details
|
||||
@@ -60,7 +60,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get the User data from the provided X-Plex-Token
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetTokenDetailsResponse> GetTokenDetailsAsync(string? serverUrl = null);
|
||||
Task<GetTokenDetailsResponse> GetTokenDetailsAsync(string? serverUrl = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get User Sign In Data
|
||||
@@ -69,7 +69,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Sign in user with username and password and return user data with Plex authentication token
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<PostUsersSignInDataResponse> PostUsersSignInDataAsync(PostUsersSignInDataRequest? request = null, string? serverUrl = null);
|
||||
Task<PostUsersSignInDataResponse> PostUsersSignInDataAsync(PostUsersSignInDataRequest? request = null, string? serverUrl = null, RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -95,10 +95,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
};
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -111,7 +111,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<GetTransientTokenResponse> GetTransientTokenAsync(GetTransientTokenQueryParamType type, Scope scope)
|
||||
public async Task<GetTransientTokenResponse> GetTransientTokenAsync(GetTransientTokenQueryParamType type, Scope scope, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetTransientTokenRequest()
|
||||
{
|
||||
@@ -132,11 +132,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getTransientToken", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -204,7 +237,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetSourceConnectionInformationResponse> GetSourceConnectionInformationAsync(string source)
|
||||
public async Task<GetSourceConnectionInformationResponse> GetSourceConnectionInformationAsync(string source, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetSourceConnectionInformationRequest()
|
||||
{
|
||||
@@ -224,11 +257,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getSourceConnectionInformation", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -296,7 +362,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetTokenDetailsResponse> GetTokenDetailsAsync(string? serverUrl = null)
|
||||
public async Task<GetTokenDetailsResponse> GetTokenDetailsAsync(string? serverUrl = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = Utilities.TemplateUrl(GetTokenDetailsServerList[0], new Dictionary<string, string>(){
|
||||
});
|
||||
@@ -318,11 +384,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getTokenDetails", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -398,13 +497,13 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<PostUsersSignInDataResponse> PostUsersSignInDataAsync(PostUsersSignInDataRequest? request = null, string? serverUrl = null)
|
||||
public async Task<PostUsersSignInDataResponse> PostUsersSignInDataAsync(PostUsersSignInDataRequest? request = null, string? serverUrl = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
request.ClientID ??= SDKConfiguration.ClientID;
|
||||
request.ClientName ??= SDKConfiguration.ClientName;
|
||||
request.ClientVersion ??= SDKConfiguration.ClientVersion;
|
||||
request.ClientPlatform ??= SDKConfiguration.ClientPlatform;
|
||||
request.DeviceName ??= SDKConfiguration.DeviceName;
|
||||
request.Platform ??= SDKConfiguration.Platform;
|
||||
request.DeviceNickname ??= SDKConfiguration.DeviceNickname;
|
||||
|
||||
string baseUrl = Utilities.TemplateUrl(PostUsersSignInDataServerList[0], new Dictionary<string, string>(){
|
||||
});
|
||||
@@ -412,10 +511,12 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
baseUrl = serverUrl;
|
||||
}
|
||||
var urlString = URLBuilder.Build(baseUrl, "/users/signin", request);
|
||||
|
||||
var urlString = baseUrl + "/users/signin";
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
HeaderSerializer.PopulateHeaders(ref httpRequest, request);
|
||||
|
||||
var serializedBody = RequestBodySerializer.Serialize(request, "RequestBody", "form", false, true);
|
||||
if (serializedBody != null)
|
||||
@@ -426,11 +527,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("post-users-sign-in-data", null, null);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Returns a list of butler tasks
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetButlerTasksResponse> GetButlerTasksAsync();
|
||||
Task<GetButlerTasksResponse> GetButlerTasksAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Start all Butler tasks
|
||||
@@ -53,7 +53,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<StartAllTasksResponse> StartAllTasksAsync();
|
||||
Task<StartAllTasksResponse> StartAllTasksAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Stop all Butler tasks
|
||||
@@ -63,7 +63,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<StopAllTasksResponse> StopAllTasksAsync();
|
||||
Task<StopAllTasksResponse> StopAllTasksAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Start a single Butler task
|
||||
@@ -77,7 +77,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<StartTaskResponse> StartTaskAsync(TaskName taskName);
|
||||
Task<StartTaskResponse> StartTaskAsync(TaskName taskName, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Stop a single Butler task
|
||||
@@ -87,7 +87,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<StopTaskResponse> StopTaskAsync(PathParamTaskName taskName);
|
||||
Task<StopTaskResponse> StopTaskAsync(PathParamTaskName taskName, RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -101,10 +101,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -117,7 +117,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<GetButlerTasksResponse> GetButlerTasksAsync()
|
||||
public async Task<GetButlerTasksResponse> GetButlerTasksAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -134,11 +134,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getButlerTasks", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -214,7 +247,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<StartAllTasksResponse> StartAllTasksAsync()
|
||||
public async Task<StartAllTasksResponse> StartAllTasksAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -231,11 +264,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("startAllTasks", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -303,7 +369,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<StopAllTasksResponse> StopAllTasksAsync()
|
||||
public async Task<StopAllTasksResponse> StopAllTasksAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -320,11 +386,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("stopAllTasks", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -392,7 +491,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<StartTaskResponse> StartTaskAsync(TaskName taskName)
|
||||
public async Task<StartTaskResponse> StartTaskAsync(TaskName taskName, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new StartTaskRequest()
|
||||
{
|
||||
@@ -412,11 +511,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("startTask", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -484,7 +616,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<StopTaskResponse> StopTaskAsync(PathParamTaskName taskName)
|
||||
public async Task<StopTaskResponse> StopTaskAsync(PathParamTaskName taskName, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new StopTaskRequest()
|
||||
{
|
||||
@@ -504,11 +636,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("stopTask", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode == 404 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get Global Hubs filtered by the parameters provided.
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetGlobalHubsResponse> GetGlobalHubsAsync(double? count = null, OnlyTransient? onlyTransient = null);
|
||||
Task<GetGlobalHubsResponse> GetGlobalHubsAsync(double? count = null, OnlyTransient? onlyTransient = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Recently Added
|
||||
@@ -49,7 +49,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetRecentlyAddedResponse> GetRecentlyAddedAsync(GetRecentlyAddedRequest request);
|
||||
Task<GetRecentlyAddedResponse> GetRecentlyAddedAsync(GetRecentlyAddedRequest request, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get library specific hubs
|
||||
@@ -59,7 +59,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetLibraryHubsResponse> GetLibraryHubsAsync(double sectionId, double? count = null, QueryParamOnlyTransient? onlyTransient = null);
|
||||
Task<GetLibraryHubsResponse> GetLibraryHubsAsync(double sectionId, double? count = null, QueryParamOnlyTransient? onlyTransient = null, RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -73,10 +73,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -89,7 +89,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<GetGlobalHubsResponse> GetGlobalHubsAsync(double? count = null, OnlyTransient? onlyTransient = null)
|
||||
public async Task<GetGlobalHubsResponse> GetGlobalHubsAsync(double? count = null, OnlyTransient? onlyTransient = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetGlobalHubsRequest()
|
||||
{
|
||||
@@ -110,11 +110,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getGlobalHubs", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -190,7 +223,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetRecentlyAddedResponse> GetRecentlyAddedAsync(GetRecentlyAddedRequest request)
|
||||
public async Task<GetRecentlyAddedResponse> GetRecentlyAddedAsync(GetRecentlyAddedRequest request, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/hubs/home/recentlyAdded", request);
|
||||
@@ -206,11 +239,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("get-recently-added", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -264,7 +330,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetLibraryHubsResponse> GetLibraryHubsAsync(double sectionId, double? count = null, QueryParamOnlyTransient? onlyTransient = null)
|
||||
public async Task<GetLibraryHubsResponse> GetLibraryHubsAsync(double sectionId, double? count = null, QueryParamOnlyTransient? onlyTransient = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetLibraryHubsRequest()
|
||||
{
|
||||
@@ -286,11 +352,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getLibraryHubs", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// This resource returns hash values for local files
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetFileHashResponse> GetFileHashAsync(string url, double? type = null);
|
||||
Task<GetFileHashResponse> GetFileHashAsync(string url, double? type = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Recently Added
|
||||
@@ -49,7 +49,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetRecentlyAddedLibraryResponse> GetRecentlyAddedLibraryAsync(GetRecentlyAddedLibraryRequest request);
|
||||
Task<GetRecentlyAddedLibraryResponse> GetRecentlyAddedLibraryAsync(GetRecentlyAddedLibraryRequest request, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get All Libraries
|
||||
@@ -64,7 +64,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetAllLibrariesResponse> GetAllLibrariesAsync();
|
||||
Task<GetAllLibrariesResponse> GetAllLibrariesAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Library Details
|
||||
@@ -112,7 +112,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetLibraryDetailsResponse> GetLibraryDetailsAsync(int sectionKey, IncludeDetails? includeDetails = null);
|
||||
Task<GetLibraryDetailsResponse> GetLibraryDetailsAsync(int sectionKey, IncludeDetails? includeDetails = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Delete Library Section
|
||||
@@ -121,7 +121,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Delete a library using a specific section id
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<DeleteLibraryResponse> DeleteLibraryAsync(int sectionKey);
|
||||
Task<DeleteLibraryResponse> DeleteLibraryAsync(int sectionKey, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Library Items
|
||||
@@ -150,7 +150,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetLibraryItemsResponse> GetLibraryItemsAsync(GetLibraryItemsRequest request);
|
||||
Task<GetLibraryItemsResponse> GetLibraryItemsAsync(GetLibraryItemsRequest request, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Refresh Metadata Of The Library
|
||||
@@ -160,7 +160,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetRefreshLibraryMetadataResponse> GetRefreshLibraryMetadataAsync(int sectionKey, Force? force = null);
|
||||
Task<GetRefreshLibraryMetadataResponse> GetRefreshLibraryMetadataAsync(int sectionKey, Force? force = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Search Library
|
||||
@@ -187,7 +187,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetSearchLibraryResponse> GetSearchLibraryAsync(int sectionKey, GetSearchLibraryQueryParamType type);
|
||||
Task<GetSearchLibraryResponse> GetSearchLibraryAsync(int sectionKey, GetSearchLibraryQueryParamType type, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Metadata by RatingKey
|
||||
@@ -197,7 +197,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetMetaDataByRatingKeyResponse> GetMetaDataByRatingKeyAsync(long ratingKey);
|
||||
Task<GetMetaDataByRatingKeyResponse> GetMetaDataByRatingKeyAsync(long ratingKey, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Items Children
|
||||
@@ -207,7 +207,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetMetadataChildrenResponse> GetMetadataChildrenAsync(double ratingKey, string? includeElements = null);
|
||||
Task<GetMetadataChildrenResponse> GetMetadataChildrenAsync(double ratingKey, string? includeElements = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Top Watched Content
|
||||
@@ -217,7 +217,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetTopWatchedContentResponse> GetTopWatchedContentAsync(GetTopWatchedContentQueryParamType type, long? includeGuids = null);
|
||||
Task<GetTopWatchedContentResponse> GetTopWatchedContentAsync(GetTopWatchedContentQueryParamType type, long? includeGuids = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get On Deck
|
||||
@@ -227,7 +227,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetOnDeckResponse> GetOnDeckAsync();
|
||||
Task<GetOnDeckResponse> GetOnDeckAsync(RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -241,10 +241,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -257,7 +257,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<GetFileHashResponse> GetFileHashAsync(string url, double? type = null)
|
||||
public async Task<GetFileHashResponse> GetFileHashAsync(string url, double? type = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetFileHashRequest()
|
||||
{
|
||||
@@ -278,11 +278,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getFileHash", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -350,7 +383,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetRecentlyAddedLibraryResponse> GetRecentlyAddedLibraryAsync(GetRecentlyAddedLibraryRequest request)
|
||||
public async Task<GetRecentlyAddedLibraryResponse> GetRecentlyAddedLibraryAsync(GetRecentlyAddedLibraryRequest request, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/recentlyAdded", request);
|
||||
@@ -366,11 +399,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("get-recently-added-library", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -446,7 +512,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetAllLibrariesResponse> GetAllLibrariesAsync()
|
||||
public async Task<GetAllLibrariesResponse> GetAllLibrariesAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -463,11 +529,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("get-all-libraries", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -543,7 +642,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetLibraryDetailsResponse> GetLibraryDetailsAsync(int sectionKey, IncludeDetails? includeDetails = null)
|
||||
public async Task<GetLibraryDetailsResponse> GetLibraryDetailsAsync(int sectionKey, IncludeDetails? includeDetails = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetLibraryDetailsRequest()
|
||||
{
|
||||
@@ -564,11 +663,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("get-library-details", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -644,7 +776,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<DeleteLibraryResponse> DeleteLibraryAsync(int sectionKey)
|
||||
public async Task<DeleteLibraryResponse> DeleteLibraryAsync(int sectionKey, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new DeleteLibraryRequest()
|
||||
{
|
||||
@@ -664,11 +796,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("deleteLibrary", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -736,7 +901,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetLibraryItemsResponse> GetLibraryItemsAsync(GetLibraryItemsRequest request)
|
||||
public async Task<GetLibraryItemsResponse> GetLibraryItemsAsync(GetLibraryItemsRequest request, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionKey}/{tag}", request);
|
||||
@@ -752,11 +917,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("get-library-items", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -832,7 +1030,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetRefreshLibraryMetadataResponse> GetRefreshLibraryMetadataAsync(int sectionKey, Force? force = null)
|
||||
public async Task<GetRefreshLibraryMetadataResponse> GetRefreshLibraryMetadataAsync(int sectionKey, Force? force = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetRefreshLibraryMetadataRequest()
|
||||
{
|
||||
@@ -853,11 +1051,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("get-refresh-library-metadata", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -925,7 +1156,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetSearchLibraryResponse> GetSearchLibraryAsync(int sectionKey, GetSearchLibraryQueryParamType type)
|
||||
public async Task<GetSearchLibraryResponse> GetSearchLibraryAsync(int sectionKey, GetSearchLibraryQueryParamType type, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetSearchLibraryRequest()
|
||||
{
|
||||
@@ -946,11 +1177,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("get-search-library", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -1026,7 +1290,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetMetaDataByRatingKeyResponse> GetMetaDataByRatingKeyAsync(long ratingKey)
|
||||
public async Task<GetMetaDataByRatingKeyResponse> GetMetaDataByRatingKeyAsync(long ratingKey, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetMetaDataByRatingKeyRequest()
|
||||
{
|
||||
@@ -1046,11 +1310,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("get-meta-data-by-rating-key", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -1126,7 +1423,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetMetadataChildrenResponse> GetMetadataChildrenAsync(double ratingKey, string? includeElements = null)
|
||||
public async Task<GetMetadataChildrenResponse> GetMetadataChildrenAsync(double ratingKey, string? includeElements = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetMetadataChildrenRequest()
|
||||
{
|
||||
@@ -1147,11 +1444,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getMetadataChildren", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -1227,7 +1557,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetTopWatchedContentResponse> GetTopWatchedContentAsync(GetTopWatchedContentQueryParamType type, long? includeGuids = null)
|
||||
public async Task<GetTopWatchedContentResponse> GetTopWatchedContentAsync(GetTopWatchedContentQueryParamType type, long? includeGuids = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetTopWatchedContentRequest()
|
||||
{
|
||||
@@ -1248,11 +1578,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getTopWatchedContent", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -1328,7 +1691,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetOnDeckResponse> GetOnDeckAsync()
|
||||
public async Task<GetOnDeckResponse> GetOnDeckAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -1345,11 +1708,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getOnDeck", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<LogLineResponse> LogLineAsync(Level level, string message, string source);
|
||||
Task<LogLineResponse> LogLineAsync(Level level, string message, string source, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Logging a multi-line message
|
||||
@@ -70,7 +70,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<LogMultiLineResponse> LogMultiLineAsync(string request);
|
||||
Task<LogMultiLineResponse> LogMultiLineAsync(string request, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Enabling Papertrail
|
||||
@@ -80,7 +80,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<EnablePaperTrailResponse> EnablePaperTrailAsync();
|
||||
Task<EnablePaperTrailResponse> EnablePaperTrailAsync(RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -94,10 +94,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -110,7 +110,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<LogLineResponse> LogLineAsync(Level level, string message, string source)
|
||||
public async Task<LogLineResponse> LogLineAsync(Level level, string message, string source, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new LogLineRequest()
|
||||
{
|
||||
@@ -132,11 +132,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("logLine", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -204,7 +237,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<LogMultiLineResponse> LogMultiLineAsync(string request)
|
||||
public async Task<LogMultiLineResponse> LogMultiLineAsync(string request, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -227,11 +260,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("logMultiLine", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -299,7 +365,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<EnablePaperTrailResponse> EnablePaperTrailAsync()
|
||||
public async Task<EnablePaperTrailResponse> EnablePaperTrailAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -316,11 +382,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("enablePaperTrail", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode == 403 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<IsPackable>true</IsPackable>
|
||||
<PackageId>LukeHagar.PlexAPI.SDK</PackageId>
|
||||
<Version>0.8.7</Version>
|
||||
<Version>0.9.0</Version>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<Authors>LukeHagar</Authors>
|
||||
<Copyright>Copyright (c) LukeHagar 2024</Copyright>
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// This will mark the provided media key as Played.
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<MarkPlayedResponse> MarkPlayedAsync(double key);
|
||||
Task<MarkPlayedResponse> MarkPlayedAsync(double key, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Mark Media Unplayed
|
||||
@@ -48,7 +48,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// This will mark the provided media key as Unplayed.
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<MarkUnplayedResponse> MarkUnplayedAsync(double key);
|
||||
Task<MarkUnplayedResponse> MarkUnplayedAsync(double key, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Update Media Play Progress
|
||||
@@ -58,7 +58,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<UpdatePlayProgressResponse> UpdatePlayProgressAsync(string key, double time, string state);
|
||||
Task<UpdatePlayProgressResponse> UpdatePlayProgressAsync(string key, double time, string state, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Banner Image
|
||||
@@ -67,7 +67,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Gets the banner image of the media item
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetBannerImageResponse> GetBannerImageAsync(GetBannerImageRequest request);
|
||||
Task<GetBannerImageResponse> GetBannerImageAsync(GetBannerImageRequest request, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Thumb Image
|
||||
@@ -76,7 +76,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Gets the thumbnail image of the media item
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetThumbImageResponse> GetThumbImageAsync(GetThumbImageRequest request);
|
||||
Task<GetThumbImageResponse> GetThumbImageAsync(GetThumbImageRequest request, RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -90,10 +90,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -106,7 +106,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<MarkPlayedResponse> MarkPlayedAsync(double key)
|
||||
public async Task<MarkPlayedResponse> MarkPlayedAsync(double key, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new MarkPlayedRequest()
|
||||
{
|
||||
@@ -126,11 +126,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("markPlayed", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -198,7 +231,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<MarkUnplayedResponse> MarkUnplayedAsync(double key)
|
||||
public async Task<MarkUnplayedResponse> MarkUnplayedAsync(double key, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new MarkUnplayedRequest()
|
||||
{
|
||||
@@ -218,11 +251,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("markUnplayed", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -290,7 +356,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<UpdatePlayProgressResponse> UpdatePlayProgressAsync(string key, double time, string state)
|
||||
public async Task<UpdatePlayProgressResponse> UpdatePlayProgressAsync(string key, double time, string state, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new UpdatePlayProgressRequest()
|
||||
{
|
||||
@@ -312,11 +378,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("updatePlayProgress", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -384,13 +483,14 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetBannerImageResponse> GetBannerImageAsync(GetBannerImageRequest request)
|
||||
public async Task<GetBannerImageResponse> GetBannerImageAsync(GetBannerImageRequest request, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/metadata/{ratingKey}/banner", request);
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
HeaderSerializer.PopulateHeaders(ref httpRequest, request);
|
||||
|
||||
if (_securitySource != null)
|
||||
{
|
||||
@@ -400,11 +500,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("get-banner-image", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -479,13 +612,14 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetThumbImageResponse> GetThumbImageAsync(GetThumbImageRequest request)
|
||||
public async Task<GetThumbImageResponse> GetThumbImageAsync(GetThumbImageRequest request, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/metadata/{ratingKey}/thumb", request);
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
HeaderSerializer.PopulateHeaders(ref httpRequest, request);
|
||||
|
||||
if (_securitySource != null)
|
||||
{
|
||||
@@ -495,11 +629,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("get-thumb-image", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -33,9 +33,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
public long Upscale { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Plex Authentication Token
|
||||
/// An authentication token, obtained from plex.tv
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Token")]
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Token")]
|
||||
public string XPlexToken { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
public class GetLibraryItemsRequest
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// A key representing a specific tag within the section.
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=tag")]
|
||||
public Tag Tag { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// The unique key of the Plex library. <br/>
|
||||
///
|
||||
@@ -26,12 +32,6 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey")]
|
||||
public int SectionKey { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// A key representing a specific tag within the section.
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=tag")]
|
||||
public Tag Tag { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Adds the Guids object to the response<br/>
|
||||
///
|
||||
|
||||
@@ -15,9 +15,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Plex Authentication Token
|
||||
/// An authentication token, obtained from plex.tv
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Token")]
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Token")]
|
||||
public string XPlexToken { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -27,21 +27,33 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
public bool? Strong { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// The unique identifier for the client application. This is used to track the client application and its usage. (UUID, serial number, or other number unique per device)
|
||||
/// An opaque identifier unique to the client (UUID, serial number, or other unique device ID)
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Client-Identifier")]
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
|
||||
public string? ClientID { get; set; }
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Product")]
|
||||
/// <summary>
|
||||
/// The name of the client application. (Plex Web, Plex Media Server, etc.)
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
|
||||
public string? ClientName { get; set; }
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Device")]
|
||||
public string? DeviceName { get; set; }
|
||||
/// <summary>
|
||||
/// A relatively friendly name for the client device
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
|
||||
public string? DeviceNickname { get; set; }
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Version")]
|
||||
/// <summary>
|
||||
/// The version of the client application.
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
|
||||
public string? ClientVersion { get; set; }
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Platform")]
|
||||
public string? ClientPlatform { get; set; }
|
||||
/// <summary>
|
||||
/// The platform of the client application.
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
|
||||
public string? Platform { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -39,9 +39,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
public IncludeIPv6? IncludeIPv6 { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.Disable;
|
||||
|
||||
/// <summary>
|
||||
/// The unique identifier for the client application. This is used to track the client application and its usage. (UUID, serial number, or other number unique per device)
|
||||
/// An opaque identifier unique to the client (UUID, serial number, or other unique device ID)
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Client-Identifier")]
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
|
||||
public string? ClientID { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -33,9 +33,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
public long Upscale { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Plex Authentication Token
|
||||
/// An authentication token, obtained from plex.tv
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Token")]
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Token")]
|
||||
public string XPlexToken { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -21,21 +21,33 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
public long PinID { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// The unique identifier for the client application. This is used to track the client application and its usage. (UUID, serial number, or other number unique per device)
|
||||
/// An opaque identifier unique to the client (UUID, serial number, or other unique device ID)
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Client-Identifier")]
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
|
||||
public string? ClientID { get; set; }
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Product")]
|
||||
/// <summary>
|
||||
/// The name of the client application. (Plex Web, Plex Media Server, etc.)
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
|
||||
public string? ClientName { get; set; }
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Device")]
|
||||
public string? DeviceName { get; set; }
|
||||
/// <summary>
|
||||
/// A relatively friendly name for the client device
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
|
||||
public string? DeviceNickname { get; set; }
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Version")]
|
||||
/// <summary>
|
||||
/// The version of the client application.
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
|
||||
public string? ClientVersion { get; set; }
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Platform")]
|
||||
public string? ClientPlatform { get; set; }
|
||||
/// <summary>
|
||||
/// The platform of the client application.
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
|
||||
public string? Platform { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -22,9 +22,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
public Filter Filter { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Plex Authentication Token
|
||||
/// An authentication token, obtained from plex.tv
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Token")]
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Token")]
|
||||
public string XPlexToken { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -16,22 +16,34 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// The unique identifier for the client application. This is used to track the client application and its usage. (UUID, serial number, or other number unique per device)
|
||||
/// An opaque identifier unique to the client (UUID, serial number, or other unique device ID)
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Client-Identifier")]
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
|
||||
public string? ClientID { get; set; }
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Product")]
|
||||
/// <summary>
|
||||
/// The name of the client application. (Plex Web, Plex Media Server, etc.)
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
|
||||
public string? ClientName { get; set; }
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Device")]
|
||||
public string? DeviceName { get; set; }
|
||||
/// <summary>
|
||||
/// A relatively friendly name for the client device
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
|
||||
public string? DeviceNickname { get; set; }
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Version")]
|
||||
/// <summary>
|
||||
/// The version of the client application.
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
|
||||
public string? ClientVersion { get; set; }
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Platform")]
|
||||
public string? ClientPlatform { get; set; }
|
||||
/// <summary>
|
||||
/// The platform of the client application.
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
|
||||
public string? Platform { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Login credentials
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<CreatePlaylistResponse> CreatePlaylistAsync(CreatePlaylistRequest request);
|
||||
Task<CreatePlaylistResponse> CreatePlaylistAsync(CreatePlaylistRequest request, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get All Playlists
|
||||
@@ -54,7 +54,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get All Playlists given the specified filters.
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetPlaylistsResponse> GetPlaylistsAsync(PlaylistType? playlistType = null, QueryParamSmart? smart = null);
|
||||
Task<GetPlaylistsResponse> GetPlaylistsAsync(PlaylistType? playlistType = null, QueryParamSmart? smart = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve Playlist
|
||||
@@ -65,7 +65,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetPlaylistResponse> GetPlaylistAsync(double playlistID);
|
||||
Task<GetPlaylistResponse> GetPlaylistAsync(double playlistID, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Deletes a Playlist
|
||||
@@ -75,7 +75,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<DeletePlaylistResponse> DeletePlaylistAsync(double playlistID);
|
||||
Task<DeletePlaylistResponse> DeletePlaylistAsync(double playlistID, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Update a Playlist
|
||||
@@ -85,7 +85,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<UpdatePlaylistResponse> UpdatePlaylistAsync(double playlistID, string? title = null, string? summary = null);
|
||||
Task<UpdatePlaylistResponse> UpdatePlaylistAsync(double playlistID, string? title = null, string? summary = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve Playlist Contents
|
||||
@@ -98,7 +98,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetPlaylistContentsResponse> GetPlaylistContentsAsync(double playlistID, GetPlaylistContentsQueryParamType type);
|
||||
Task<GetPlaylistContentsResponse> GetPlaylistContentsAsync(double playlistID, GetPlaylistContentsQueryParamType type, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Delete Playlist Contents
|
||||
@@ -108,7 +108,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<ClearPlaylistContentsResponse> ClearPlaylistContentsAsync(double playlistID);
|
||||
Task<ClearPlaylistContentsResponse> ClearPlaylistContentsAsync(double playlistID, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Adding to a Playlist
|
||||
@@ -119,7 +119,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<AddPlaylistContentsResponse> AddPlaylistContentsAsync(double playlistID, string uri, double? playQueueID = null);
|
||||
Task<AddPlaylistContentsResponse> AddPlaylistContentsAsync(double playlistID, string uri, double? playQueueID = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Upload Playlist
|
||||
@@ -129,7 +129,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<UploadPlaylistResponse> UploadPlaylistAsync(string path, QueryParamForce force, long sectionID);
|
||||
Task<UploadPlaylistResponse> UploadPlaylistAsync(string path, QueryParamForce force, long sectionID, RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -146,10 +146,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -162,7 +162,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<CreatePlaylistResponse> CreatePlaylistAsync(CreatePlaylistRequest request)
|
||||
public async Task<CreatePlaylistResponse> CreatePlaylistAsync(CreatePlaylistRequest request, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/playlists", request);
|
||||
@@ -178,11 +178,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("createPlaylist", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -258,7 +291,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetPlaylistsResponse> GetPlaylistsAsync(PlaylistType? playlistType = null, QueryParamSmart? smart = null)
|
||||
public async Task<GetPlaylistsResponse> GetPlaylistsAsync(PlaylistType? playlistType = null, QueryParamSmart? smart = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetPlaylistsRequest()
|
||||
{
|
||||
@@ -279,11 +312,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getPlaylists", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -359,7 +425,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetPlaylistResponse> GetPlaylistAsync(double playlistID)
|
||||
public async Task<GetPlaylistResponse> GetPlaylistAsync(double playlistID, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetPlaylistRequest()
|
||||
{
|
||||
@@ -379,11 +445,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getPlaylist", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -459,7 +558,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<DeletePlaylistResponse> DeletePlaylistAsync(double playlistID)
|
||||
public async Task<DeletePlaylistResponse> DeletePlaylistAsync(double playlistID, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new DeletePlaylistRequest()
|
||||
{
|
||||
@@ -479,11 +578,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("deletePlaylist", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -551,7 +683,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<UpdatePlaylistResponse> UpdatePlaylistAsync(double playlistID, string? title = null, string? summary = null)
|
||||
public async Task<UpdatePlaylistResponse> UpdatePlaylistAsync(double playlistID, string? title = null, string? summary = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new UpdatePlaylistRequest()
|
||||
{
|
||||
@@ -573,11 +705,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("updatePlaylist", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -645,7 +810,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetPlaylistContentsResponse> GetPlaylistContentsAsync(double playlistID, GetPlaylistContentsQueryParamType type)
|
||||
public async Task<GetPlaylistContentsResponse> GetPlaylistContentsAsync(double playlistID, GetPlaylistContentsQueryParamType type, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetPlaylistContentsRequest()
|
||||
{
|
||||
@@ -666,11 +831,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getPlaylistContents", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -746,7 +944,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<ClearPlaylistContentsResponse> ClearPlaylistContentsAsync(double playlistID)
|
||||
public async Task<ClearPlaylistContentsResponse> ClearPlaylistContentsAsync(double playlistID, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new ClearPlaylistContentsRequest()
|
||||
{
|
||||
@@ -766,11 +964,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("clearPlaylistContents", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -838,7 +1069,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<AddPlaylistContentsResponse> AddPlaylistContentsAsync(double playlistID, string uri, double? playQueueID = null)
|
||||
public async Task<AddPlaylistContentsResponse> AddPlaylistContentsAsync(double playlistID, string uri, double? playQueueID = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new AddPlaylistContentsRequest()
|
||||
{
|
||||
@@ -860,11 +1091,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("addPlaylistContents", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -940,7 +1204,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<UploadPlaylistResponse> UploadPlaylistAsync(string path, QueryParamForce force, long sectionID)
|
||||
public async Task<UploadPlaylistResponse> UploadPlaylistAsync(string path, QueryParamForce force, long sectionID, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new UploadPlaylistRequest()
|
||||
{
|
||||
@@ -962,11 +1226,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("uploadPlaylist", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get Companions Data
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetCompanionsDataResponse> GetCompanionsDataAsync(string? serverUrl = null);
|
||||
Task<GetCompanionsDataResponse> GetCompanionsDataAsync(string? serverUrl = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get list of friends of the user logged in
|
||||
@@ -48,7 +48,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get friends of provided auth token.
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetUserFriendsResponse> GetUserFriendsAsync(string? serverUrl = null);
|
||||
Task<GetUserFriendsResponse> GetUserFriendsAsync(string? serverUrl = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Geo Data
|
||||
@@ -57,7 +57,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Returns the geolocation and locale data of the caller
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetGeoDataResponse> GetGeoDataAsync(string? serverUrl = null);
|
||||
Task<GetGeoDataResponse> GetGeoDataAsync(string? serverUrl = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Plex Home Data
|
||||
@@ -66,7 +66,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Retrieves the home data for the authenticated user, including details like home ID, name, guest access information, and subscription status.
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetHomeDataResponse> GetHomeDataAsync();
|
||||
Task<GetHomeDataResponse> GetHomeDataAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Server Resources
|
||||
@@ -75,7 +75,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get Plex server access tokens and server connections
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetServerResourcesResponse> GetServerResourcesAsync(IncludeHttps? includeHttps = null, IncludeRelay? includeRelay = null, IncludeIPv6? includeIPv6 = null, string? clientID = null, string? serverUrl = null);
|
||||
Task<GetServerResourcesResponse> GetServerResourcesAsync(IncludeHttps? includeHttps = null, IncludeRelay? includeRelay = null, IncludeIPv6? includeIPv6 = null, string? clientID = null, string? serverUrl = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get a Pin
|
||||
@@ -84,7 +84,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Retrieve a Pin ID from Plex.tv to use for authentication flows
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetPinResponse> GetPinAsync(GetPinRequest? request = null, string? serverUrl = null);
|
||||
Task<GetPinResponse> GetPinAsync(GetPinRequest? request = null, string? serverUrl = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Access Token by PinId
|
||||
@@ -93,7 +93,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Retrieve an Access Token from Plex.tv after the Pin has been authenticated
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetTokenByPinIdResponse> GetTokenByPinIdAsync(GetTokenByPinIdRequest request, string? serverUrl = null);
|
||||
Task<GetTokenByPinIdResponse> GetTokenByPinIdAsync(GetTokenByPinIdRequest request, string? serverUrl = null, RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -143,10 +143,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
};
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -159,7 +159,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<GetCompanionsDataResponse> GetCompanionsDataAsync(string? serverUrl = null)
|
||||
public async Task<GetCompanionsDataResponse> GetCompanionsDataAsync(string? serverUrl = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = Utilities.TemplateUrl(GetCompanionsDataServerList[0], new Dictionary<string, string>(){
|
||||
});
|
||||
@@ -181,11 +181,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getCompanionsData", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -261,7 +294,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetUserFriendsResponse> GetUserFriendsAsync(string? serverUrl = null)
|
||||
public async Task<GetUserFriendsResponse> GetUserFriendsAsync(string? serverUrl = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = Utilities.TemplateUrl(GetUserFriendsServerList[0], new Dictionary<string, string>(){
|
||||
});
|
||||
@@ -283,11 +316,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getUserFriends", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -363,7 +429,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetGeoDataResponse> GetGeoDataAsync(string? serverUrl = null)
|
||||
public async Task<GetGeoDataResponse> GetGeoDataAsync(string? serverUrl = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = Utilities.TemplateUrl(GetGeoDataServerList[0], new Dictionary<string, string>(){
|
||||
});
|
||||
@@ -380,11 +446,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getGeoData", null, null);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -460,7 +559,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetHomeDataResponse> GetHomeDataAsync()
|
||||
public async Task<GetHomeDataResponse> GetHomeDataAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -477,11 +576,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getHomeData", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -557,7 +689,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetServerResourcesResponse> GetServerResourcesAsync(IncludeHttps? includeHttps = null, IncludeRelay? includeRelay = null, IncludeIPv6? includeIPv6 = null, string? clientID = null, string? serverUrl = null)
|
||||
public async Task<GetServerResourcesResponse> GetServerResourcesAsync(IncludeHttps? includeHttps = null, IncludeRelay? includeRelay = null, IncludeIPv6? includeIPv6 = null, string? clientID = null, string? serverUrl = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetServerResourcesRequest()
|
||||
{
|
||||
@@ -578,6 +710,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
HeaderSerializer.PopulateHeaders(ref httpRequest, request);
|
||||
|
||||
if (_securitySource != null)
|
||||
{
|
||||
@@ -587,11 +720,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("get-server-resources", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -667,13 +833,13 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetPinResponse> GetPinAsync(GetPinRequest? request = null, string? serverUrl = null)
|
||||
public async Task<GetPinResponse> GetPinAsync(GetPinRequest? request = null, string? serverUrl = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
request.ClientID ??= SDKConfiguration.ClientID;
|
||||
request.ClientName ??= SDKConfiguration.ClientName;
|
||||
request.ClientVersion ??= SDKConfiguration.ClientVersion;
|
||||
request.ClientPlatform ??= SDKConfiguration.ClientPlatform;
|
||||
request.DeviceName ??= SDKConfiguration.DeviceName;
|
||||
request.Platform ??= SDKConfiguration.Platform;
|
||||
request.DeviceNickname ??= SDKConfiguration.DeviceNickname;
|
||||
|
||||
string baseUrl = Utilities.TemplateUrl(GetPinServerList[0], new Dictionary<string, string>(){
|
||||
});
|
||||
@@ -685,15 +851,49 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
HeaderSerializer.PopulateHeaders(ref httpRequest, request);
|
||||
|
||||
var hookCtx = new HookContext("getPin", null, null);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -758,7 +958,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetTokenByPinIdResponse> GetTokenByPinIdAsync(GetTokenByPinIdRequest request, string? serverUrl = null)
|
||||
public async Task<GetTokenByPinIdResponse> GetTokenByPinIdAsync(GetTokenByPinIdRequest request, string? serverUrl = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
if (request == null)
|
||||
{
|
||||
@@ -767,8 +967,8 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
request.ClientID ??= SDKConfiguration.ClientID;
|
||||
request.ClientName ??= SDKConfiguration.ClientName;
|
||||
request.ClientVersion ??= SDKConfiguration.ClientVersion;
|
||||
request.ClientPlatform ??= SDKConfiguration.ClientPlatform;
|
||||
request.DeviceName ??= SDKConfiguration.DeviceName;
|
||||
request.Platform ??= SDKConfiguration.Platform;
|
||||
request.DeviceNickname ??= SDKConfiguration.DeviceNickname;
|
||||
|
||||
string baseUrl = Utilities.TemplateUrl(GetTokenByPinIdServerList[0], new Dictionary<string, string>(){
|
||||
});
|
||||
@@ -780,15 +980,49 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
HeaderSerializer.PopulateHeaders(ref httpRequest, request);
|
||||
|
||||
var hookCtx = new HookContext("getTokenByPinId", null, null);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 404 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -269,8 +269,8 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
public string? ClientID;
|
||||
public string? ClientName;
|
||||
public string? ClientVersion;
|
||||
public string? ClientPlatform;
|
||||
public string? DeviceName;
|
||||
public string? Platform;
|
||||
public string? DeviceNickname;
|
||||
public SDKHooks Hooks = new SDKHooks();
|
||||
public RetryConfig? RetryConfig = null;
|
||||
|
||||
@@ -331,10 +331,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private int _serverIndex = 0;
|
||||
private ISpeakeasyHttpClient _client;
|
||||
@@ -356,7 +356,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
public ISessions Sessions { get; private set; }
|
||||
public IUpdater Updater { get; private set; }
|
||||
|
||||
public PlexAPI(string? accessToken = null, Func<string>? accessTokenSource = null, string? clientID = null, string? clientName = null, string? clientVersion = null, string? clientPlatform = null, string? deviceName = null, int? serverIndex = null, ServerProtocol? protocol = null, string? ip = null, string? port = null, string? serverUrl = null, Dictionary<string, string>? urlParams = null, ISpeakeasyHttpClient? client = null, RetryConfig? retryConfig = null)
|
||||
public PlexAPI(string? accessToken = null, Func<string>? accessTokenSource = null, string? clientID = null, string? clientName = null, string? clientVersion = null, string? platform = null, string? deviceNickname = null, int? serverIndex = null, ServerProtocol? protocol = null, string? ip = null, string? port = null, string? serverUrl = null, Dictionary<string, string>? urlParams = null, ISpeakeasyHttpClient? client = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
if (serverIndex != null)
|
||||
{
|
||||
@@ -401,8 +401,8 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
ClientID = clientID,
|
||||
ClientName = clientName,
|
||||
ClientVersion = clientVersion,
|
||||
ClientPlatform = clientPlatform,
|
||||
DeviceName = deviceName,
|
||||
Platform = platform,
|
||||
DeviceNickname = deviceNickname,
|
||||
ServerDefaults = serverDefaults,
|
||||
ServerIndex = _serverIndex,
|
||||
ServerUrl = _serverUrl,
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<PerformSearchResponse> PerformSearchAsync(string query, double? sectionId = null, double? limit = null);
|
||||
Task<PerformSearchResponse> PerformSearchAsync(string query, double? sectionId = null, double? limit = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Perform a voice search
|
||||
@@ -64,7 +64,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<PerformVoiceSearchResponse> PerformVoiceSearchAsync(string query, double? sectionId = null, double? limit = null);
|
||||
Task<PerformVoiceSearchResponse> PerformVoiceSearchAsync(string query, double? sectionId = null, double? limit = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Search Results
|
||||
@@ -73,7 +73,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// This will search the database for the string provided.
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetSearchResultsResponse> GetSearchResultsAsync(string query);
|
||||
Task<GetSearchResultsResponse> GetSearchResultsAsync(string query, RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -87,10 +87,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -103,7 +103,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<PerformSearchResponse> PerformSearchAsync(string query, double? sectionId = null, double? limit = null)
|
||||
public async Task<PerformSearchResponse> PerformSearchAsync(string query, double? sectionId = null, double? limit = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new PerformSearchRequest()
|
||||
{
|
||||
@@ -125,11 +125,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("performSearch", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -197,7 +230,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<PerformVoiceSearchResponse> PerformVoiceSearchAsync(string query, double? sectionId = null, double? limit = null)
|
||||
public async Task<PerformVoiceSearchResponse> PerformVoiceSearchAsync(string query, double? sectionId = null, double? limit = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new PerformVoiceSearchRequest()
|
||||
{
|
||||
@@ -219,11 +252,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("performVoiceSearch", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -291,7 +357,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetSearchResultsResponse> GetSearchResultsAsync(string query)
|
||||
public async Task<GetSearchResultsResponse> GetSearchResultsAsync(string query, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetSearchResultsRequest()
|
||||
{
|
||||
@@ -311,11 +377,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getSearchResults", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get Server Capabilities
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetServerCapabilitiesResponse> GetServerCapabilitiesAsync();
|
||||
Task<GetServerCapabilitiesResponse> GetServerCapabilitiesAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Server Preferences
|
||||
@@ -48,7 +48,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get Server Preferences
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetServerPreferencesResponse> GetServerPreferencesAsync();
|
||||
Task<GetServerPreferencesResponse> GetServerPreferencesAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Available Clients
|
||||
@@ -57,7 +57,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get Available Clients
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetAvailableClientsResponse> GetAvailableClientsAsync();
|
||||
Task<GetAvailableClientsResponse> GetAvailableClientsAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Devices
|
||||
@@ -66,7 +66,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get Devices
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetDevicesResponse> GetDevicesAsync();
|
||||
Task<GetDevicesResponse> GetDevicesAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Server Identity
|
||||
@@ -75,7 +75,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// This request is useful to determine if the server is online or offline
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetServerIdentityResponse> GetServerIdentityAsync();
|
||||
Task<GetServerIdentityResponse> GetServerIdentityAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get MyPlex Account
|
||||
@@ -84,7 +84,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Returns MyPlex Account Information
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetMyPlexAccountResponse> GetMyPlexAccountAsync();
|
||||
Task<GetMyPlexAccountResponse> GetMyPlexAccountAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get a Resized Photo
|
||||
@@ -94,7 +94,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetResizedPhotoResponse> GetResizedPhotoAsync(GetResizedPhotoRequest request);
|
||||
Task<GetResizedPhotoResponse> GetResizedPhotoAsync(GetResizedPhotoRequest request, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Media Providers
|
||||
@@ -103,7 +103,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Retrieves media providers and their features from the Plex server.
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetMediaProvidersResponse> GetMediaProvidersAsync(string xPlexToken);
|
||||
Task<GetMediaProvidersResponse> GetMediaProvidersAsync(string xPlexToken, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Server List
|
||||
@@ -112,7 +112,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get Server List
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetServerListResponse> GetServerListAsync();
|
||||
Task<GetServerListResponse> GetServerListAsync(RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -126,10 +126,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -142,7 +142,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<GetServerCapabilitiesResponse> GetServerCapabilitiesAsync()
|
||||
public async Task<GetServerCapabilitiesResponse> GetServerCapabilitiesAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -159,11 +159,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getServerCapabilities", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -239,7 +272,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetServerPreferencesResponse> GetServerPreferencesAsync()
|
||||
public async Task<GetServerPreferencesResponse> GetServerPreferencesAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -256,11 +289,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getServerPreferences", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -336,7 +402,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetAvailableClientsResponse> GetAvailableClientsAsync()
|
||||
public async Task<GetAvailableClientsResponse> GetAvailableClientsAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -353,11 +419,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getAvailableClients", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -433,7 +532,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetDevicesResponse> GetDevicesAsync()
|
||||
public async Task<GetDevicesResponse> GetDevicesAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -450,11 +549,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getDevices", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -530,7 +662,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetServerIdentityResponse> GetServerIdentityAsync()
|
||||
public async Task<GetServerIdentityResponse> GetServerIdentityAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -542,11 +674,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("get-server-identity", null, null);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 408 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -611,7 +776,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetMyPlexAccountResponse> GetMyPlexAccountAsync()
|
||||
public async Task<GetMyPlexAccountResponse> GetMyPlexAccountAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -628,11 +793,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getMyPlexAccount", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -708,7 +906,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetResizedPhotoResponse> GetResizedPhotoAsync(GetResizedPhotoRequest request)
|
||||
public async Task<GetResizedPhotoResponse> GetResizedPhotoAsync(GetResizedPhotoRequest request, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/photo/:/transcode", request);
|
||||
@@ -724,11 +922,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getResizedPhoto", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -796,17 +1027,19 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetMediaProvidersResponse> GetMediaProvidersAsync(string xPlexToken)
|
||||
public async Task<GetMediaProvidersResponse> GetMediaProvidersAsync(string xPlexToken, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetMediaProvidersRequest()
|
||||
{
|
||||
XPlexToken = xPlexToken,
|
||||
};
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/media/providers", request);
|
||||
|
||||
var urlString = baseUrl + "/media/providers";
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
HeaderSerializer.PopulateHeaders(ref httpRequest, request);
|
||||
|
||||
if (_securitySource != null)
|
||||
{
|
||||
@@ -816,11 +1049,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("get-media-providers", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -896,7 +1162,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetServerListResponse> GetServerListAsync()
|
||||
public async Task<GetServerListResponse> GetServerListAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -913,11 +1179,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getServerList", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// This will retrieve the "Now Playing" Information of the PMS.
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetSessionsResponse> GetSessionsAsync();
|
||||
Task<GetSessionsResponse> GetSessionsAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Session History
|
||||
@@ -48,7 +48,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// This will Retrieve a listing of all history views.
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetSessionHistoryResponse> GetSessionHistoryAsync(string? sort = null, long? accountId = null, QueryParamFilter? filter = null, long? librarySectionID = null);
|
||||
Task<GetSessionHistoryResponse> GetSessionHistoryAsync(string? sort = null, long? accountId = null, QueryParamFilter? filter = null, long? librarySectionID = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Transcode Sessions
|
||||
@@ -57,7 +57,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get Transcode Sessions
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetTranscodeSessionsResponse> GetTranscodeSessionsAsync();
|
||||
Task<GetTranscodeSessionsResponse> GetTranscodeSessionsAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Stop a Transcode Session
|
||||
@@ -66,7 +66,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Stop a Transcode Session
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<StopTranscodeSessionResponse> StopTranscodeSessionAsync(string sessionKey);
|
||||
Task<StopTranscodeSessionResponse> StopTranscodeSessionAsync(string sessionKey, RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -80,10 +80,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -96,7 +96,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<GetSessionsResponse> GetSessionsAsync()
|
||||
public async Task<GetSessionsResponse> GetSessionsAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -113,11 +113,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getSessions", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -193,7 +226,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetSessionHistoryResponse> GetSessionHistoryAsync(string? sort = null, long? accountId = null, QueryParamFilter? filter = null, long? librarySectionID = null)
|
||||
public async Task<GetSessionHistoryResponse> GetSessionHistoryAsync(string? sort = null, long? accountId = null, QueryParamFilter? filter = null, long? librarySectionID = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetSessionHistoryRequest()
|
||||
{
|
||||
@@ -216,11 +249,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getSessionHistory", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -296,7 +362,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetTranscodeSessionsResponse> GetTranscodeSessionsAsync()
|
||||
public async Task<GetTranscodeSessionsResponse> GetTranscodeSessionsAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -313,11 +379,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getTranscodeSessions", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -393,7 +492,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<StopTranscodeSessionResponse> StopTranscodeSessionAsync(string sessionKey)
|
||||
public async Task<StopTranscodeSessionResponse> StopTranscodeSessionAsync(string sessionKey, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new StopTranscodeSessionRequest()
|
||||
{
|
||||
@@ -413,11 +512,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("stopTranscodeSession", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// This will return the media statistics for the server
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetStatisticsResponse> GetStatisticsAsync(long? timespan = null);
|
||||
Task<GetStatisticsResponse> GetStatisticsAsync(long? timespan = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Resources Statistics
|
||||
@@ -48,7 +48,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// This will return the resources for the server
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetResourcesStatisticsResponse> GetResourcesStatisticsAsync(long? timespan = null);
|
||||
Task<GetResourcesStatisticsResponse> GetResourcesStatisticsAsync(long? timespan = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get Bandwidth Statistics
|
||||
@@ -57,7 +57,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// This will return the bandwidth statistics for the server
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetBandwidthStatisticsResponse> GetBandwidthStatisticsAsync(long? timespan = null);
|
||||
Task<GetBandwidthStatisticsResponse> GetBandwidthStatisticsAsync(long? timespan = null, RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -71,10 +71,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -87,7 +87,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<GetStatisticsResponse> GetStatisticsAsync(long? timespan = null)
|
||||
public async Task<GetStatisticsResponse> GetStatisticsAsync(long? timespan = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetStatisticsRequest()
|
||||
{
|
||||
@@ -107,11 +107,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getStatistics", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -187,7 +220,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetResourcesStatisticsResponse> GetResourcesStatisticsAsync(long? timespan = null)
|
||||
public async Task<GetResourcesStatisticsResponse> GetResourcesStatisticsAsync(long? timespan = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetResourcesStatisticsRequest()
|
||||
{
|
||||
@@ -207,11 +240,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getResourcesStatistics", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -287,7 +353,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<GetBandwidthStatisticsResponse> GetBandwidthStatisticsAsync(long? timespan = null)
|
||||
public async Task<GetBandwidthStatisticsResponse> GetBandwidthStatisticsAsync(long? timespan = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new GetBandwidthStatisticsRequest()
|
||||
{
|
||||
@@ -307,11 +373,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getBandwidthStatistics", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Querying status of updates
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetUpdateStatusResponse> GetUpdateStatusAsync();
|
||||
Task<GetUpdateStatusResponse> GetUpdateStatusAsync(RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Checking for updates
|
||||
@@ -49,7 +49,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Checking for updates
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<CheckForUpdatesResponse> CheckForUpdatesAsync(Download? download = null);
|
||||
Task<CheckForUpdatesResponse> CheckForUpdatesAsync(Download? download = null, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Apply Updates
|
||||
@@ -59,7 +59,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<ApplyUpdatesResponse> ApplyUpdatesAsync(Tonight? tonight = null, Skip? skip = null);
|
||||
Task<ApplyUpdatesResponse> ApplyUpdatesAsync(Tonight? tonight = null, Skip? skip = null, RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -90,7 +90,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<GetUpdateStatusResponse> GetUpdateStatusAsync()
|
||||
public async Task<GetUpdateStatusResponse> GetUpdateStatusAsync(RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -107,11 +107,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getUpdateStatus", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -187,7 +220,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<CheckForUpdatesResponse> CheckForUpdatesAsync(Download? download = null)
|
||||
public async Task<CheckForUpdatesResponse> CheckForUpdatesAsync(Download? download = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new CheckForUpdatesRequest()
|
||||
{
|
||||
@@ -207,11 +240,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("checkForUpdates", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -279,7 +345,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<ApplyUpdatesResponse> ApplyUpdatesAsync(Tonight? tonight = null, Skip? skip = null)
|
||||
public async Task<ApplyUpdatesResponse> ApplyUpdatesAsync(Tonight? tonight = null, Skip? skip = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
var request = new ApplyUpdatesRequest()
|
||||
{
|
||||
@@ -300,11 +366,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("applyUpdates", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode == 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get the timeline for a media item
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetTimelineResponse> GetTimelineAsync(GetTimelineRequest request);
|
||||
Task<GetTimelineResponse> GetTimelineAsync(GetTimelineRequest request, RetryConfig? retryConfig = null);
|
||||
|
||||
/// <summary>
|
||||
/// Start Universal Transcode
|
||||
@@ -48,7 +48,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Begin a Universal Transcode Session
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<StartUniversalTranscodeResponse> StartUniversalTranscodeAsync(StartUniversalTranscodeRequest request);
|
||||
Task<StartUniversalTranscodeResponse> StartUniversalTranscodeAsync(StartUniversalTranscodeRequest request, RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -62,10 +62,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -78,7 +78,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<GetTimelineResponse> GetTimelineAsync(GetTimelineRequest request)
|
||||
public async Task<GetTimelineResponse> GetTimelineAsync(GetTimelineRequest request, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/:/timeline", request);
|
||||
@@ -94,11 +94,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("getTimeline", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
@@ -166,7 +199,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<StartUniversalTranscodeResponse> StartUniversalTranscodeAsync(StartUniversalTranscodeRequest request)
|
||||
public async Task<StartUniversalTranscodeResponse> StartUniversalTranscodeAsync(StartUniversalTranscodeRequest request, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/video/:/transcode/universal/start.mpd", request);
|
||||
@@ -182,11 +215,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("startUniversalTranscode", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get User Watchlist
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetWatchListResponse> GetWatchListAsync(GetWatchListRequest request, string? serverUrl = null);
|
||||
Task<GetWatchListResponse> GetWatchListAsync(GetWatchListRequest request, string? serverUrl = null, RetryConfig? retryConfig = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -59,10 +59,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
};
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.7";
|
||||
private const string _sdkGenVersion = "2.428.1";
|
||||
private const string _sdkVersion = "0.9.0";
|
||||
private const string _sdkGenVersion = "2.429.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.7 2.428.1 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.9.0 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -75,7 +75,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<GetWatchListResponse> GetWatchListAsync(GetWatchListRequest request, string? serverUrl = null)
|
||||
public async Task<GetWatchListResponse> GetWatchListAsync(GetWatchListRequest request, string? serverUrl = null, RetryConfig? retryConfig = null)
|
||||
{
|
||||
string baseUrl = Utilities.TemplateUrl(GetWatchListServerList[0], new Dictionary<string, string>(){
|
||||
});
|
||||
@@ -87,6 +87,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
HeaderSerializer.PopulateHeaders(ref httpRequest, request);
|
||||
|
||||
if (_securitySource != null)
|
||||
{
|
||||
@@ -96,11 +97,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
var hookCtx = new HookContext("get-watch-list", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
if (retryConfig == null)
|
||||
{
|
||||
if (this.SDKConfiguration.RetryConfig != null)
|
||||
{
|
||||
retryConfig = this.SDKConfiguration.RetryConfig;
|
||||
}
|
||||
else
|
||||
{
|
||||
var backoff = new BackoffStrategy(
|
||||
initialIntervalMs: 500L,
|
||||
maxIntervalMs: 60000L,
|
||||
maxElapsedTimeMs: 3600000L,
|
||||
exponent: 1.5
|
||||
);
|
||||
retryConfig = new RetryConfig(
|
||||
strategy: RetryConfig.RetryStrategy.BACKOFF,
|
||||
backoff: backoff,
|
||||
retryConnectionErrors: true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<string> statusCodes = new List<string>
|
||||
{
|
||||
"5XX",
|
||||
};
|
||||
|
||||
Func<Task<HttpResponseMessage>> retrySend = async () =>
|
||||
{
|
||||
var _httpRequest = await _client.CloneAsync(httpRequest);
|
||||
return await _client.SendAsync(_httpRequest);
|
||||
};
|
||||
var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes);
|
||||
|
||||
HttpResponseMessage httpResponse;
|
||||
try
|
||||
{
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
httpResponse = await retries.Run();
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
|
||||
Reference in New Issue
Block a user