Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 16 additions & 13 deletions src/CompuMaster.Scopevisio.OpenApi/Client/ApiClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,8 @@ internal partial class ApiClient
/// Initializes a new instance of the <see cref="ApiClient" /> class
/// with default configuration.
/// </summary>
public ApiClient()
{
Configuration = CompuMaster.Scopevisio.OpenApi.Client.Configuration.Default;
RestClient = new RestClient("https://appload.scopevisio.com/rest");
public ApiClient() : this("https://appload.scopevisio.com/rest")
{
}

/// <summary>
Expand All @@ -67,8 +65,7 @@ public ApiClient()
public ApiClient(Configuration config)
{
Configuration = config ?? CompuMaster.Scopevisio.OpenApi.Client.Configuration.Default;

RestClient = new RestClient(Configuration.BasePath);
this.BasePath = Configuration.BasePath;
}

/// <summary>
Expand All @@ -79,8 +76,7 @@ public ApiClient(Configuration config)
public ApiClient(String basePath = "https://appload.scopevisio.com/rest")
{
if (String.IsNullOrEmpty(basePath))
throw new ArgumentException("basePath cannot be empty");

throw new ArgumentException("basePath cannot be empty");
Configuration = Client.Configuration.Default;
this.BasePath = basePath;
}
Expand Down Expand Up @@ -116,11 +112,10 @@ public RestClient RestClient
{
if (_restClient == null)
{
var Options = new RestClientOptions(this.BasePath);
Options.Timeout =new TimeSpan(0,0,0,0, this.Configuration.Timeout);
Options.UserAgent = this.Configuration.UserAgent;

RestClient = new RestClient(Options);
if (this.Configuration.HttpClient != null)
RestClient = new RestClient(this.Configuration.HttpClient, this.ConfiguredRestClientOptions());
else
RestClient = new RestClient(this.ConfiguredRestClientOptions());
}
return _restClient;
}
Expand All @@ -130,6 +125,14 @@ public RestClient RestClient
}
}

protected virtual RestClientOptions ConfiguredRestClientOptions()
{
var Options = new RestClientOptions(this.BasePath);
Options.Timeout = new TimeSpan(0, 0, 0, 0, this.Configuration.Timeout);
Options.UserAgent = this.Configuration.UserAgent;
return Options;
}

// Creates and sets up a RestRequest prior to a call.
private RestRequest PrepareRequest(
String path, RestSharp.Method method, List<KeyValuePair<String, String>> queryParams, Object postBody,
Expand Down
10 changes: 9 additions & 1 deletion src/CompuMaster.Scopevisio.OpenApi/Client/Configuration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,18 @@

namespace CompuMaster.Scopevisio.OpenApi.Client
{
public partial class Configuration
{
/// <summary>
/// The http client for creating the RestClient
/// </summary>
public System.Net.Http.HttpClient HttpClient { get; set; }
}

/// <summary>
/// Represents a set of configuration settings
/// </summary>
public class Configuration : IReadableConfiguration
public partial class Configuration : IReadableConfiguration
{
#region Constants

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,18 @@

namespace CompuMaster.Scopevisio.OpenApi.Client
{
internal partial interface IReadableConfiguration
{
/// <summary>
/// The http client for creating the RestClient
/// </summary>
System.Net.Http.HttpClient HttpClient { get; }
}

/// <summary>
/// Represents a readable-only configuration contract.
/// </summary>
internal interface IReadableConfiguration
internal partial interface IReadableConfiguration
{
/// <summary>
/// Gets the access token.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
<RootNamespace>CompuMaster.Scopevisio.OpenApi</RootNamespace>
<AssemblyName>CompuMaster.Scopevisio.OpenApi</AssemblyName>
<TargetFrameworks>netstandard2.0;net6.0;net48</TargetFrameworks>
<Version>2024.11.05.100</Version>
<Version>2026.01.02.0</Version>
<Authors>Jochen Wezel</Authors>
<Company>CompuMaster GmbH</Company>
<Copyright>2019-2024 CompuMaster GmbH</Copyright>
<Copyright>2019-2026 CompuMaster GmbH</Copyright>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<Description>Client access library for the OpenScope API https://www.openscope.de/ (REST web API interface provided by Scopevisio AG, https://www.scopevisio.com/), library generated from Swagger/OpenAPI doc at https://appload.scopevisio.com/rest/swagger.json</Description>
<PackageProjectUrl>https://github.com/CompuMasterGmbH/CompuMaster.Scopevisio.OpenApi</PackageProjectUrl>
Expand Down
Loading