2020-08-10 10:11:42 +02:00
//----------------------
// <auto-generated>
2020-08-11 08:38:26 +02:00
// Generated using the NSwag toolchain v13.7.0.0 (NJsonSchema v10.1.24.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)
2020-08-10 10:11:42 +02:00
// </auto-generated>
//----------------------
#pragma warning disable 108 // Disable "CS0108 '{derivedDto}.ToJson()' hides inherited member '{dtoBase}.ToJson()'. Use the new keyword if hiding was intended."
#pragma warning disable 114 // Disable "CS0114 '{derivedDto}.RaisePropertyChanged(String)' hides inherited member 'dtoBase.RaisePropertyChanged(String)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword."
#pragma warning disable 472 // Disable "CS0472 The result of the expression is always 'false' since a value of type 'Int32' is never equal to 'null' of type 'Int32?'
#pragma warning disable 1573 // Disable "CS1573 Parameter '...' has no matching param tag in the XML comment for ...
#pragma warning disable 1591 // Disable "CS1591 Missing XML comment for publicly visible type or member ..."
namespace Giants.WebApi.Clients
{
using System = global :: System ;
2020-08-11 08:38:26 +02:00
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.7.0.0 (NJsonSchema v10.1.24.0 (Newtonsoft.Json v11.0.0.0))")]
2020-08-16 11:52:58 +02:00
public partial class ServersClient
2020-08-10 10:11:42 +02:00
{
private string _baseUrl = "https://localhost:44304" ;
private System . Net . Http . HttpClient _httpClient ;
private System . Lazy < Newtonsoft . Json . JsonSerializerSettings > _settings ;
2020-08-16 11:52:58 +02:00
public ServersClient ( System . Net . Http . HttpClient httpClient )
2020-08-10 10:11:42 +02:00
{
_httpClient = httpClient ;
_settings = new System . Lazy < Newtonsoft . Json . JsonSerializerSettings > ( CreateSerializerSettings ) ;
}
private Newtonsoft . Json . JsonSerializerSettings CreateSerializerSettings ( )
{
var settings = new Newtonsoft . Json . JsonSerializerSettings ( ) ;
UpdateJsonSerializerSettings ( settings ) ;
return settings ;
}
public string BaseUrl
{
get { return _baseUrl ; }
set { _baseUrl = value ; }
}
protected Newtonsoft . Json . JsonSerializerSettings JsonSerializerSettings { get { return _settings . Value ; } }
partial void UpdateJsonSerializerSettings ( Newtonsoft . Json . JsonSerializerSettings settings ) ;
partial void PrepareRequest ( System . Net . Http . HttpClient client , System . Net . Http . HttpRequestMessage request , string url ) ;
partial void PrepareRequest ( System . Net . Http . HttpClient client , System . Net . Http . HttpRequestMessage request , System . Text . StringBuilder urlBuilder ) ;
partial void ProcessResponse ( System . Net . Http . HttpClient client , System . Net . Http . HttpResponseMessage response ) ;
/// <exception cref="ApiException">A server side error occurred.</exception>
2020-08-16 11:52:58 +02:00
public System . Threading . Tasks . Task DeleteServerAsync ( )
2020-08-10 10:11:42 +02:00
{
2020-08-16 11:52:58 +02:00
return DeleteServerAsync ( System . Threading . CancellationToken . None ) ;
2020-08-10 10:11:42 +02:00
}
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <exception cref="ApiException">A server side error occurred.</exception>
2020-08-16 11:52:58 +02:00
public async System . Threading . Tasks . Task DeleteServerAsync ( System . Threading . CancellationToken cancellationToken )
2020-08-10 10:11:42 +02:00
{
var urlBuilder_ = new System . Text . StringBuilder ( ) ;
2020-08-16 11:52:58 +02:00
urlBuilder_ . Append ( BaseUrl ! = null ? BaseUrl . TrimEnd ( '/' ) : "" ) . Append ( "/api/Servers" ) ;
var client_ = _httpClient ;
try
2020-08-10 10:11:42 +02:00
{
2020-08-16 11:52:58 +02:00
using ( var request_ = new System . Net . Http . HttpRequestMessage ( ) )
{
request_ . Method = new System . Net . Http . HttpMethod ( "DELETE" ) ;
PrepareRequest ( client_ , request_ , urlBuilder_ ) ;
var url_ = urlBuilder_ . ToString ( ) ;
request_ . RequestUri = new System . Uri ( url_ , System . UriKind . RelativeOrAbsolute ) ;
PrepareRequest ( client_ , request_ , url_ ) ;
var response_ = await client_ . SendAsync ( request_ , System . Net . Http . HttpCompletionOption . ResponseHeadersRead , cancellationToken ) . ConfigureAwait ( false ) ;
try
{
var headers_ = System . Linq . Enumerable . ToDictionary ( response_ . Headers , h_ = > h_ . Key , h_ = > h_ . Value ) ;
if ( response_ . Content ! = null & & response_ . Content . Headers ! = null )
{
foreach ( var item_ in response_ . Content . Headers )
headers_ [ item_ . Key ] = item_ . Value ;
}
ProcessResponse ( client_ , response_ ) ;
var status_ = ( int ) response_ . StatusCode ;
if ( status_ = = 200 )
{
return ;
}
else
{
var responseData_ = response_ . Content = = null ? null : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "The HTTP status code of the response was not expected (" + status_ + ")." , status_ , responseData_ , headers_ , null ) ;
}
}
finally
{
if ( response_ ! = null )
response_ . Dispose ( ) ;
}
}
2020-08-10 10:11:42 +02:00
}
2020-08-16 11:52:58 +02:00
finally
{
}
}
/// <exception cref="ApiException">A server side error occurred.</exception>
public System . Threading . Tasks . Task < System . Collections . Generic . ICollection < ServerInfoWithHostAddress > > GetServersAsync ( )
{
return GetServersAsync ( System . Threading . CancellationToken . None ) ;
}
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <exception cref="ApiException">A server side error occurred.</exception>
public async System . Threading . Tasks . Task < System . Collections . Generic . ICollection < ServerInfoWithHostAddress > > GetServersAsync ( System . Threading . CancellationToken cancellationToken )
{
var urlBuilder_ = new System . Text . StringBuilder ( ) ;
urlBuilder_ . Append ( BaseUrl ! = null ? BaseUrl . TrimEnd ( '/' ) : "" ) . Append ( "/api/Servers" ) ;
2020-08-10 10:11:42 +02:00
var client_ = _httpClient ;
try
{
using ( var request_ = new System . Net . Http . HttpRequestMessage ( ) )
{
request_ . Method = new System . Net . Http . HttpMethod ( "GET" ) ;
request_ . Headers . Accept . Add ( System . Net . Http . Headers . MediaTypeWithQualityHeaderValue . Parse ( "application/json" ) ) ;
PrepareRequest ( client_ , request_ , urlBuilder_ ) ;
var url_ = urlBuilder_ . ToString ( ) ;
request_ . RequestUri = new System . Uri ( url_ , System . UriKind . RelativeOrAbsolute ) ;
PrepareRequest ( client_ , request_ , url_ ) ;
var response_ = await client_ . SendAsync ( request_ , System . Net . Http . HttpCompletionOption . ResponseHeadersRead , cancellationToken ) . ConfigureAwait ( false ) ;
try
{
var headers_ = System . Linq . Enumerable . ToDictionary ( response_ . Headers , h_ = > h_ . Key , h_ = > h_ . Value ) ;
if ( response_ . Content ! = null & & response_ . Content . Headers ! = null )
{
foreach ( var item_ in response_ . Content . Headers )
headers_ [ item_ . Key ] = item_ . Value ;
}
ProcessResponse ( client_ , response_ ) ;
var status_ = ( int ) response_ . StatusCode ;
if ( status_ = = 200 )
{
2020-08-16 11:52:58 +02:00
var objectResponse_ = await ReadObjectResponseAsync < System . Collections . Generic . ICollection < ServerInfoWithHostAddress > > ( response_ , headers_ ) . ConfigureAwait ( false ) ;
2020-08-10 10:11:42 +02:00
if ( objectResponse_ . Object = = null )
{
throw new ApiException ( "Response was null which was not expected." , status_ , objectResponse_ . Text , headers_ , null ) ;
}
return objectResponse_ . Object ;
}
else
{
var responseData_ = response_ . Content = = null ? null : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "The HTTP status code of the response was not expected (" + status_ + ")." , status_ , responseData_ , headers_ , null ) ;
}
}
finally
{
if ( response_ ! = null )
response_ . Dispose ( ) ;
}
}
}
finally
{
}
}
2020-08-16 11:52:58 +02:00
/// <exception cref="ApiException">A server side error occurred.</exception>
public System . Threading . Tasks . Task AddServerAsync ( ServerInfo serverInfo )
{
return AddServerAsync ( serverInfo , System . Threading . CancellationToken . None ) ;
}
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <exception cref="ApiException">A server side error occurred.</exception>
public async System . Threading . Tasks . Task AddServerAsync ( ServerInfo serverInfo , System . Threading . CancellationToken cancellationToken )
{
if ( serverInfo = = null )
throw new System . ArgumentNullException ( "serverInfo" ) ;
var urlBuilder_ = new System . Text . StringBuilder ( ) ;
urlBuilder_ . Append ( BaseUrl ! = null ? BaseUrl . TrimEnd ( '/' ) : "" ) . Append ( "/api/Servers" ) ;
var client_ = _httpClient ;
try
{
using ( var request_ = new System . Net . Http . HttpRequestMessage ( ) )
{
var content_ = new System . Net . Http . StringContent ( Newtonsoft . Json . JsonConvert . SerializeObject ( serverInfo , _settings . Value ) ) ;
content_ . Headers . ContentType = System . Net . Http . Headers . MediaTypeHeaderValue . Parse ( "application/json" ) ;
request_ . Content = content_ ;
request_ . Method = new System . Net . Http . HttpMethod ( "POST" ) ;
PrepareRequest ( client_ , request_ , urlBuilder_ ) ;
var url_ = urlBuilder_ . ToString ( ) ;
request_ . RequestUri = new System . Uri ( url_ , System . UriKind . RelativeOrAbsolute ) ;
PrepareRequest ( client_ , request_ , url_ ) ;
var response_ = await client_ . SendAsync ( request_ , System . Net . Http . HttpCompletionOption . ResponseHeadersRead , cancellationToken ) . ConfigureAwait ( false ) ;
try
{
var headers_ = System . Linq . Enumerable . ToDictionary ( response_ . Headers , h_ = > h_ . Key , h_ = > h_ . Value ) ;
if ( response_ . Content ! = null & & response_ . Content . Headers ! = null )
{
foreach ( var item_ in response_ . Content . Headers )
headers_ [ item_ . Key ] = item_ . Value ;
}
ProcessResponse ( client_ , response_ ) ;
var status_ = ( int ) response_ . StatusCode ;
if ( status_ = = 200 )
{
return ;
}
else
{
var responseData_ = response_ . Content = = null ? null : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "The HTTP status code of the response was not expected (" + status_ + ")." , status_ , responseData_ , headers_ , null ) ;
}
}
finally
{
if ( response_ ! = null )
response_ . Dispose ( ) ;
}
}
}
finally
{
}
}
2020-08-10 10:11:42 +02:00
protected struct ObjectResponseResult < T >
{
public ObjectResponseResult ( T responseObject , string responseText )
{
this . Object = responseObject ;
this . Text = responseText ;
}
public T Object { get ; }
public string Text { get ; }
}
public bool ReadResponseAsString { get ; set ; }
protected virtual async System . Threading . Tasks . Task < ObjectResponseResult < T > > ReadObjectResponseAsync < T > ( System . Net . Http . HttpResponseMessage response , System . Collections . Generic . IReadOnlyDictionary < string , System . Collections . Generic . IEnumerable < string > > headers )
{
if ( response = = null | | response . Content = = null )
{
return new ObjectResponseResult < T > ( default ( T ) , string . Empty ) ;
}
if ( ReadResponseAsString )
{
var responseText = await response . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
try
{
var typedBody = Newtonsoft . Json . JsonConvert . DeserializeObject < T > ( responseText , JsonSerializerSettings ) ;
return new ObjectResponseResult < T > ( typedBody , responseText ) ;
}
catch ( Newtonsoft . Json . JsonException exception )
{
var message = "Could not deserialize the response body string as " + typeof ( T ) . FullName + "." ;
throw new ApiException ( message , ( int ) response . StatusCode , responseText , headers , exception ) ;
}
}
else
{
try
{
using ( var responseStream = await response . Content . ReadAsStreamAsync ( ) . ConfigureAwait ( false ) )
using ( var streamReader = new System . IO . StreamReader ( responseStream ) )
using ( var jsonTextReader = new Newtonsoft . Json . JsonTextReader ( streamReader ) )
{
var serializer = Newtonsoft . Json . JsonSerializer . Create ( JsonSerializerSettings ) ;
var typedBody = serializer . Deserialize < T > ( jsonTextReader ) ;
return new ObjectResponseResult < T > ( typedBody , string . Empty ) ;
}
}
catch ( Newtonsoft . Json . JsonException exception )
{
var message = "Could not deserialize the response body stream as " + typeof ( T ) . FullName + "." ;
throw new ApiException ( message , ( int ) response . StatusCode , string . Empty , headers , exception ) ;
}
}
}
private string ConvertToString ( object value , System . Globalization . CultureInfo cultureInfo )
{
if ( value = = null )
{
return null ;
}
if ( value is System . Enum )
{
var name = System . Enum . GetName ( value . GetType ( ) , value ) ;
if ( name ! = null )
{
var field = System . Reflection . IntrospectionExtensions . GetTypeInfo ( value . GetType ( ) ) . GetDeclaredField ( name ) ;
if ( field ! = null )
{
var attribute = System . Reflection . CustomAttributeExtensions . GetCustomAttribute ( field , typeof ( System . Runtime . Serialization . EnumMemberAttribute ) )
as System . Runtime . Serialization . EnumMemberAttribute ;
if ( attribute ! = null )
{
return attribute . Value ! = null ? attribute . Value : name ;
}
}
return System . Convert . ToString ( System . Convert . ChangeType ( value , System . Enum . GetUnderlyingType ( value . GetType ( ) ) , cultureInfo ) ) ;
}
}
else if ( value is bool )
{
return System . Convert . ToString ( ( bool ) value , cultureInfo ) . ToLowerInvariant ( ) ;
}
else if ( value is byte [ ] )
{
return System . Convert . ToBase64String ( ( byte [ ] ) value ) ;
}
else if ( value . GetType ( ) . IsArray )
{
var array = System . Linq . Enumerable . OfType < object > ( ( System . Array ) value ) ;
return string . Join ( "," , System . Linq . Enumerable . Select ( array , o = > ConvertToString ( o , cultureInfo ) ) ) ;
}
var result = System . Convert . ToString ( value , cultureInfo ) ;
return ( result is null ) ? string . Empty : result ;
}
}
2020-08-11 08:38:26 +02:00
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.7.0.0 (NJsonSchema v10.1.24.0 (Newtonsoft.Json v11.0.0.0))")]
2020-08-16 12:08:49 +02:00
public partial class CommunityClient
2020-08-10 10:11:42 +02:00
{
private string _baseUrl = "https://localhost:44304" ;
private System . Net . Http . HttpClient _httpClient ;
private System . Lazy < Newtonsoft . Json . JsonSerializerSettings > _settings ;
2020-08-16 12:08:49 +02:00
public CommunityClient ( System . Net . Http . HttpClient httpClient )
2020-08-10 10:11:42 +02:00
{
_httpClient = httpClient ;
_settings = new System . Lazy < Newtonsoft . Json . JsonSerializerSettings > ( CreateSerializerSettings ) ;
}
private Newtonsoft . Json . JsonSerializerSettings CreateSerializerSettings ( )
{
var settings = new Newtonsoft . Json . JsonSerializerSettings ( ) ;
UpdateJsonSerializerSettings ( settings ) ;
return settings ;
}
public string BaseUrl
{
get { return _baseUrl ; }
set { _baseUrl = value ; }
}
protected Newtonsoft . Json . JsonSerializerSettings JsonSerializerSettings { get { return _settings . Value ; } }
partial void UpdateJsonSerializerSettings ( Newtonsoft . Json . JsonSerializerSettings settings ) ;
partial void PrepareRequest ( System . Net . Http . HttpClient client , System . Net . Http . HttpRequestMessage request , string url ) ;
partial void PrepareRequest ( System . Net . Http . HttpClient client , System . Net . Http . HttpRequestMessage request , System . Text . StringBuilder urlBuilder ) ;
partial void ProcessResponse ( System . Net . Http . HttpClient client , System . Net . Http . HttpResponseMessage response ) ;
/// <exception cref="ApiException">A server side error occurred.</exception>
2020-08-16 12:08:49 +02:00
public System . Threading . Tasks . Task < CommunityStatus > GetDiscordStatusAsync ( )
2020-08-10 10:11:42 +02:00
{
2020-08-16 11:52:58 +02:00
return GetDiscordStatusAsync ( System . Threading . CancellationToken . None ) ;
2020-08-10 10:11:42 +02:00
}
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <exception cref="ApiException">A server side error occurred.</exception>
2020-08-16 12:08:49 +02:00
public async System . Threading . Tasks . Task < CommunityStatus > GetDiscordStatusAsync ( System . Threading . CancellationToken cancellationToken )
2020-08-10 10:11:42 +02:00
{
var urlBuilder_ = new System . Text . StringBuilder ( ) ;
2020-08-16 12:08:49 +02:00
urlBuilder_ . Append ( BaseUrl ! = null ? BaseUrl . TrimEnd ( '/' ) : "" ) . Append ( "/api/Community" ) ;
2020-08-10 10:11:42 +02:00
var client_ = _httpClient ;
try
{
using ( var request_ = new System . Net . Http . HttpRequestMessage ( ) )
{
2020-08-16 11:52:58 +02:00
request_ . Method = new System . Net . Http . HttpMethod ( "GET" ) ;
request_ . Headers . Accept . Add ( System . Net . Http . Headers . MediaTypeWithQualityHeaderValue . Parse ( "application/json" ) ) ;
2020-08-10 10:11:42 +02:00
PrepareRequest ( client_ , request_ , urlBuilder_ ) ;
var url_ = urlBuilder_ . ToString ( ) ;
request_ . RequestUri = new System . Uri ( url_ , System . UriKind . RelativeOrAbsolute ) ;
PrepareRequest ( client_ , request_ , url_ ) ;
var response_ = await client_ . SendAsync ( request_ , System . Net . Http . HttpCompletionOption . ResponseHeadersRead , cancellationToken ) . ConfigureAwait ( false ) ;
try
{
var headers_ = System . Linq . Enumerable . ToDictionary ( response_ . Headers , h_ = > h_ . Key , h_ = > h_ . Value ) ;
if ( response_ . Content ! = null & & response_ . Content . Headers ! = null )
{
foreach ( var item_ in response_ . Content . Headers )
headers_ [ item_ . Key ] = item_ . Value ;
}
ProcessResponse ( client_ , response_ ) ;
var status_ = ( int ) response_ . StatusCode ;
if ( status_ = = 200 )
{
2020-08-16 12:08:49 +02:00
var objectResponse_ = await ReadObjectResponseAsync < CommunityStatus > ( response_ , headers_ ) . ConfigureAwait ( false ) ;
2020-08-16 11:52:58 +02:00
if ( objectResponse_ . Object = = null )
{
throw new ApiException ( "Response was null which was not expected." , status_ , objectResponse_ . Text , headers_ , null ) ;
}
return objectResponse_ . Object ;
2020-08-10 10:11:42 +02:00
}
else
{
var responseData_ = response_ . Content = = null ? null : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "The HTTP status code of the response was not expected (" + status_ + ")." , status_ , responseData_ , headers_ , null ) ;
}
}
finally
{
if ( response_ ! = null )
response_ . Dispose ( ) ;
}
}
}
finally
{
}
}
2020-08-16 11:52:58 +02:00
protected struct ObjectResponseResult < T >
2020-08-10 10:11:42 +02:00
{
2020-08-16 11:52:58 +02:00
public ObjectResponseResult ( T responseObject , string responseText )
{
this . Object = responseObject ;
this . Text = responseText ;
}
public T Object { get ; }
public string Text { get ; }
2020-08-10 10:11:42 +02:00
}
2020-08-16 11:52:58 +02:00
public bool ReadResponseAsString { get ; set ; }
protected virtual async System . Threading . Tasks . Task < ObjectResponseResult < T > > ReadObjectResponseAsync < T > ( System . Net . Http . HttpResponseMessage response , System . Collections . Generic . IReadOnlyDictionary < string , System . Collections . Generic . IEnumerable < string > > headers )
2020-08-10 10:11:42 +02:00
{
2020-08-16 11:52:58 +02:00
if ( response = = null | | response . Content = = null )
2020-08-10 10:11:42 +02:00
{
2020-08-16 11:52:58 +02:00
return new ObjectResponseResult < T > ( default ( T ) , string . Empty ) ;
}
if ( ReadResponseAsString )
{
var responseText = await response . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
try
2020-08-10 10:11:42 +02:00
{
2020-08-16 11:52:58 +02:00
var typedBody = Newtonsoft . Json . JsonConvert . DeserializeObject < T > ( responseText , JsonSerializerSettings ) ;
return new ObjectResponseResult < T > ( typedBody , responseText ) ;
}
catch ( Newtonsoft . Json . JsonException exception )
{
var message = "Could not deserialize the response body string as " + typeof ( T ) . FullName + "." ;
throw new ApiException ( message , ( int ) response . StatusCode , responseText , headers , exception ) ;
}
}
else
{
try
{
using ( var responseStream = await response . Content . ReadAsStreamAsync ( ) . ConfigureAwait ( false ) )
using ( var streamReader = new System . IO . StreamReader ( responseStream ) )
using ( var jsonTextReader = new Newtonsoft . Json . JsonTextReader ( streamReader ) )
2020-08-10 10:11:42 +02:00
{
2020-08-16 11:52:58 +02:00
var serializer = Newtonsoft . Json . JsonSerializer . Create ( JsonSerializerSettings ) ;
var typedBody = serializer . Deserialize < T > ( jsonTextReader ) ;
return new ObjectResponseResult < T > ( typedBody , string . Empty ) ;
}
}
catch ( Newtonsoft . Json . JsonException exception )
{
var message = "Could not deserialize the response body stream as " + typeof ( T ) . FullName + "." ;
throw new ApiException ( message , ( int ) response . StatusCode , string . Empty , headers , exception ) ;
}
}
}
2020-08-10 10:11:42 +02:00
2020-08-16 11:52:58 +02:00
private string ConvertToString ( object value , System . Globalization . CultureInfo cultureInfo )
{
if ( value = = null )
{
return null ;
}
if ( value is System . Enum )
{
var name = System . Enum . GetName ( value . GetType ( ) , value ) ;
if ( name ! = null )
{
var field = System . Reflection . IntrospectionExtensions . GetTypeInfo ( value . GetType ( ) ) . GetDeclaredField ( name ) ;
if ( field ! = null )
{
var attribute = System . Reflection . CustomAttributeExtensions . GetCustomAttribute ( field , typeof ( System . Runtime . Serialization . EnumMemberAttribute ) )
as System . Runtime . Serialization . EnumMemberAttribute ;
if ( attribute ! = null )
2020-08-10 10:11:42 +02:00
{
2020-08-16 11:52:58 +02:00
return attribute . Value ! = null ? attribute . Value : name ;
2020-08-10 10:11:42 +02:00
}
}
2020-08-16 11:52:58 +02:00
return System . Convert . ToString ( System . Convert . ChangeType ( value , System . Enum . GetUnderlyingType ( value . GetType ( ) ) , cultureInfo ) ) ;
2020-08-10 10:11:42 +02:00
}
}
2020-08-16 11:52:58 +02:00
else if ( value is bool )
2020-08-10 10:11:42 +02:00
{
2020-08-16 11:52:58 +02:00
return System . Convert . ToString ( ( bool ) value , cultureInfo ) . ToLowerInvariant ( ) ;
2020-08-10 10:11:42 +02:00
}
2020-08-16 11:52:58 +02:00
else if ( value is byte [ ] )
{
return System . Convert . ToBase64String ( ( byte [ ] ) value ) ;
}
else if ( value . GetType ( ) . IsArray )
{
var array = System . Linq . Enumerable . OfType < object > ( ( System . Array ) value ) ;
return string . Join ( "," , System . Linq . Enumerable . Select ( array , o = > ConvertToString ( o , cultureInfo ) ) ) ;
}
var result = System . Convert . ToString ( value , cultureInfo ) ;
return ( result is null ) ? string . Empty : result ;
}
}
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.7.0.0 (NJsonSchema v10.1.24.0 (Newtonsoft.Json v11.0.0.0))")]
public partial class VersionClient
{
private string _baseUrl = "https://localhost:44304" ;
private System . Net . Http . HttpClient _httpClient ;
private System . Lazy < Newtonsoft . Json . JsonSerializerSettings > _settings ;
public VersionClient ( System . Net . Http . HttpClient httpClient )
{
_httpClient = httpClient ;
_settings = new System . Lazy < Newtonsoft . Json . JsonSerializerSettings > ( CreateSerializerSettings ) ;
}
private Newtonsoft . Json . JsonSerializerSettings CreateSerializerSettings ( )
{
var settings = new Newtonsoft . Json . JsonSerializerSettings ( ) ;
UpdateJsonSerializerSettings ( settings ) ;
return settings ;
2020-08-10 10:11:42 +02:00
}
2020-08-16 11:52:58 +02:00
public string BaseUrl
{
get { return _baseUrl ; }
set { _baseUrl = value ; }
}
protected Newtonsoft . Json . JsonSerializerSettings JsonSerializerSettings { get { return _settings . Value ; } }
partial void UpdateJsonSerializerSettings ( Newtonsoft . Json . JsonSerializerSettings settings ) ;
partial void PrepareRequest ( System . Net . Http . HttpClient client , System . Net . Http . HttpRequestMessage request , string url ) ;
partial void PrepareRequest ( System . Net . Http . HttpClient client , System . Net . Http . HttpRequestMessage request , System . Text . StringBuilder urlBuilder ) ;
partial void ProcessResponse ( System . Net . Http . HttpClient client , System . Net . Http . HttpResponseMessage response ) ;
2020-08-10 10:11:42 +02:00
/// <exception cref="ApiException">A server side error occurred.</exception>
2020-08-16 11:52:58 +02:00
public System . Threading . Tasks . Task < VersionInfo > GetVersionInfoAsync ( string appName )
2020-08-10 10:11:42 +02:00
{
2020-08-16 11:52:58 +02:00
return GetVersionInfoAsync ( appName , System . Threading . CancellationToken . None ) ;
2020-08-10 10:11:42 +02:00
}
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <exception cref="ApiException">A server side error occurred.</exception>
2020-08-16 11:52:58 +02:00
public async System . Threading . Tasks . Task < VersionInfo > GetVersionInfoAsync ( string appName , System . Threading . CancellationToken cancellationToken )
2020-08-10 10:11:42 +02:00
{
var urlBuilder_ = new System . Text . StringBuilder ( ) ;
2020-08-16 11:52:58 +02:00
urlBuilder_ . Append ( BaseUrl ! = null ? BaseUrl . TrimEnd ( '/' ) : "" ) . Append ( "/api/Version?" ) ;
if ( appName ! = null )
{
urlBuilder_ . Append ( System . Uri . EscapeDataString ( "appName" ) + "=" ) . Append ( System . Uri . EscapeDataString ( ConvertToString ( appName , System . Globalization . CultureInfo . InvariantCulture ) ) ) . Append ( "&" ) ;
}
urlBuilder_ . Length - - ;
2020-08-10 10:11:42 +02:00
var client_ = _httpClient ;
try
{
using ( var request_ = new System . Net . Http . HttpRequestMessage ( ) )
{
2020-08-16 11:52:58 +02:00
request_ . Method = new System . Net . Http . HttpMethod ( "GET" ) ;
request_ . Headers . Accept . Add ( System . Net . Http . Headers . MediaTypeWithQualityHeaderValue . Parse ( "application/json" ) ) ;
2020-08-10 10:11:42 +02:00
PrepareRequest ( client_ , request_ , urlBuilder_ ) ;
var url_ = urlBuilder_ . ToString ( ) ;
request_ . RequestUri = new System . Uri ( url_ , System . UriKind . RelativeOrAbsolute ) ;
PrepareRequest ( client_ , request_ , url_ ) ;
var response_ = await client_ . SendAsync ( request_ , System . Net . Http . HttpCompletionOption . ResponseHeadersRead , cancellationToken ) . ConfigureAwait ( false ) ;
try
{
var headers_ = System . Linq . Enumerable . ToDictionary ( response_ . Headers , h_ = > h_ . Key , h_ = > h_ . Value ) ;
if ( response_ . Content ! = null & & response_ . Content . Headers ! = null )
{
foreach ( var item_ in response_ . Content . Headers )
headers_ [ item_ . Key ] = item_ . Value ;
}
ProcessResponse ( client_ , response_ ) ;
var status_ = ( int ) response_ . StatusCode ;
if ( status_ = = 200 )
{
2020-08-16 11:52:58 +02:00
var objectResponse_ = await ReadObjectResponseAsync < VersionInfo > ( response_ , headers_ ) . ConfigureAwait ( false ) ;
if ( objectResponse_ . Object = = null )
{
throw new ApiException ( "Response was null which was not expected." , status_ , objectResponse_ . Text , headers_ , null ) ;
}
return objectResponse_ . Object ;
2020-08-10 10:11:42 +02:00
}
else
{
var responseData_ = response_ . Content = = null ? null : await response_ . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
throw new ApiException ( "The HTTP status code of the response was not expected (" + status_ + ")." , status_ , responseData_ , headers_ , null ) ;
}
}
finally
{
if ( response_ ! = null )
response_ . Dispose ( ) ;
}
}
}
finally
{
}
}
protected struct ObjectResponseResult < T >
{
public ObjectResponseResult ( T responseObject , string responseText )
{
this . Object = responseObject ;
this . Text = responseText ;
}
public T Object { get ; }
public string Text { get ; }
}
public bool ReadResponseAsString { get ; set ; }
protected virtual async System . Threading . Tasks . Task < ObjectResponseResult < T > > ReadObjectResponseAsync < T > ( System . Net . Http . HttpResponseMessage response , System . Collections . Generic . IReadOnlyDictionary < string , System . Collections . Generic . IEnumerable < string > > headers )
{
if ( response = = null | | response . Content = = null )
{
return new ObjectResponseResult < T > ( default ( T ) , string . Empty ) ;
}
if ( ReadResponseAsString )
{
var responseText = await response . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
try
{
var typedBody = Newtonsoft . Json . JsonConvert . DeserializeObject < T > ( responseText , JsonSerializerSettings ) ;
return new ObjectResponseResult < T > ( typedBody , responseText ) ;
}
catch ( Newtonsoft . Json . JsonException exception )
{
var message = "Could not deserialize the response body string as " + typeof ( T ) . FullName + "." ;
throw new ApiException ( message , ( int ) response . StatusCode , responseText , headers , exception ) ;
}
}
else
{
try
{
using ( var responseStream = await response . Content . ReadAsStreamAsync ( ) . ConfigureAwait ( false ) )
using ( var streamReader = new System . IO . StreamReader ( responseStream ) )
using ( var jsonTextReader = new Newtonsoft . Json . JsonTextReader ( streamReader ) )
{
var serializer = Newtonsoft . Json . JsonSerializer . Create ( JsonSerializerSettings ) ;
var typedBody = serializer . Deserialize < T > ( jsonTextReader ) ;
return new ObjectResponseResult < T > ( typedBody , string . Empty ) ;
}
}
catch ( Newtonsoft . Json . JsonException exception )
{
var message = "Could not deserialize the response body stream as " + typeof ( T ) . FullName + "." ;
throw new ApiException ( message , ( int ) response . StatusCode , string . Empty , headers , exception ) ;
}
}
}
private string ConvertToString ( object value , System . Globalization . CultureInfo cultureInfo )
{
if ( value = = null )
{
return null ;
}
if ( value is System . Enum )
{
var name = System . Enum . GetName ( value . GetType ( ) , value ) ;
if ( name ! = null )
{
var field = System . Reflection . IntrospectionExtensions . GetTypeInfo ( value . GetType ( ) ) . GetDeclaredField ( name ) ;
if ( field ! = null )
{
var attribute = System . Reflection . CustomAttributeExtensions . GetCustomAttribute ( field , typeof ( System . Runtime . Serialization . EnumMemberAttribute ) )
as System . Runtime . Serialization . EnumMemberAttribute ;
if ( attribute ! = null )
{
return attribute . Value ! = null ? attribute . Value : name ;
}
}
return System . Convert . ToString ( System . Convert . ChangeType ( value , System . Enum . GetUnderlyingType ( value . GetType ( ) ) , cultureInfo ) ) ;
}
}
else if ( value is bool )
{
return System . Convert . ToString ( ( bool ) value , cultureInfo ) . ToLowerInvariant ( ) ;
}
else if ( value is byte [ ] )
{
return System . Convert . ToBase64String ( ( byte [ ] ) value ) ;
}
else if ( value . GetType ( ) . IsArray )
{
var array = System . Linq . Enumerable . OfType < object > ( ( System . Array ) value ) ;
return string . Join ( "," , System . Linq . Enumerable . Select ( array , o = > ConvertToString ( o , cultureInfo ) ) ) ;
}
var result = System . Convert . ToString ( value , cultureInfo ) ;
return ( result is null ) ? string . Empty : result ;
}
}
2020-08-11 08:38:26 +02:00
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.1.24.0 (Newtonsoft.Json v11.0.0.0)")]
2020-08-10 10:11:42 +02:00
public partial class ServerInfoWithHostAddress : ServerInfo
{
[Newtonsoft.Json.JsonProperty("hostIpAddress", Required = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required]
public string HostIpAddress { get ; set ; }
}
2020-08-11 08:38:26 +02:00
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.1.24.0 (Newtonsoft.Json v11.0.0.0)")]
2020-08-10 10:11:42 +02:00
public partial class ServerInfo
{
[Newtonsoft.Json.JsonProperty("gameName", Required = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
[System.ComponentModel.DataAnnotations.StringLength(100)]
public string GameName { get ; set ; }
[Newtonsoft.Json.JsonProperty("version", Required = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required]
2020-08-11 10:29:45 +02:00
public AppVersion Version { get ; set ; } = new AppVersion ( ) ;
2020-08-10 10:11:42 +02:00
[Newtonsoft.Json.JsonProperty("sessionName", Required = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
[System.ComponentModel.DataAnnotations.StringLength(100)]
public string SessionName { get ; set ; }
[Newtonsoft.Json.JsonProperty("port", Required = Newtonsoft.Json.Required.Always)]
public int Port { get ; set ; }
[Newtonsoft.Json.JsonProperty("mapName", Required = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
[System.ComponentModel.DataAnnotations.StringLength(300)]
public string MapName { get ; set ; }
[Newtonsoft.Json.JsonProperty("gameType", Required = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
[System.ComponentModel.DataAnnotations.StringLength(100)]
public string GameType { get ; set ; }
[Newtonsoft.Json.JsonProperty("numPlayers", Required = Newtonsoft.Json.Required.Always)]
public int NumPlayers { get ; set ; }
2020-09-28 08:01:11 +02:00
[Newtonsoft.Json.JsonProperty("maxPlayers", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
2020-09-23 23:44:31 +02:00
public int MaxPlayers { get ; set ; }
2020-08-10 10:11:42 +02:00
[Newtonsoft.Json.JsonProperty("gameState", Required = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
[System.ComponentModel.DataAnnotations.StringLength(100)]
public string GameState { get ; set ; }
[Newtonsoft.Json.JsonProperty("timeLimit", Required = Newtonsoft.Json.Required.Always)]
public int TimeLimit { get ; set ; }
[Newtonsoft.Json.JsonProperty("fragLimit", Required = Newtonsoft.Json.Required.Always)]
public int FragLimit { get ; set ; }
[Newtonsoft.Json.JsonProperty("teamFragLimit", Required = Newtonsoft.Json.Required.Always)]
public int TeamFragLimit { get ; set ; }
[Newtonsoft.Json.JsonProperty("firstBaseComplete", Required = Newtonsoft.Json.Required.Always)]
public bool FirstBaseComplete { get ; set ; }
[Newtonsoft.Json.JsonProperty("playerInfo", Required = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required]
public System . Collections . Generic . ICollection < PlayerInfo > PlayerInfo { get ; set ; } = new System . Collections . ObjectModel . Collection < PlayerInfo > ( ) ;
2020-08-16 11:52:58 +02:00
}
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.1.24.0 (Newtonsoft.Json v11.0.0.0)")]
public partial class AppVersion
{
[Newtonsoft.Json.JsonProperty("build", Required = Newtonsoft.Json.Required.Always)]
public int Build { get ; set ; }
[Newtonsoft.Json.JsonProperty("major", Required = Newtonsoft.Json.Required.Always)]
public int Major { get ; set ; }
[Newtonsoft.Json.JsonProperty("minor", Required = Newtonsoft.Json.Required.Always)]
public int Minor { get ; set ; }
[Newtonsoft.Json.JsonProperty("revision", Required = Newtonsoft.Json.Required.Always)]
public int Revision { get ; set ; }
2020-08-10 10:11:42 +02:00
}
2020-08-11 08:38:26 +02:00
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.1.24.0 (Newtonsoft.Json v11.0.0.0)")]
2020-08-10 10:11:42 +02:00
public partial class PlayerInfo
{
[Newtonsoft.Json.JsonProperty("index", Required = Newtonsoft.Json.Required.Always)]
public int Index { get ; set ; }
[Newtonsoft.Json.JsonProperty("name", Required = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required]
public string Name { get ; set ; }
[Newtonsoft.Json.JsonProperty("frags", Required = Newtonsoft.Json.Required.Always)]
public int Frags { get ; set ; }
[Newtonsoft.Json.JsonProperty("deaths", Required = Newtonsoft.Json.Required.Always)]
public int Deaths { get ; set ; }
[Newtonsoft.Json.JsonProperty("teamName", Required = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required]
public string TeamName { get ; set ; }
2020-08-16 11:52:58 +02:00
}
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.1.24.0 (Newtonsoft.Json v11.0.0.0)")]
2020-08-16 12:08:49 +02:00
public partial class CommunityStatus
2020-08-16 11:52:58 +02:00
{
2020-08-16 12:08:49 +02:00
[Newtonsoft.Json.JsonProperty("communityAppName", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
public string CommunityAppName { get ; set ; }
[Newtonsoft.Json.JsonProperty("communityAppUri", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
public string CommunityAppUri { get ; set ; }
2020-08-16 11:52:58 +02:00
}
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.1.24.0 (Newtonsoft.Json v11.0.0.0)")]
public partial class VersionInfo
{
[Newtonsoft.Json.JsonProperty("appName", Required = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required]
public string AppName { get ; set ; }
[Newtonsoft.Json.JsonProperty("version", Required = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required]
public AppVersion Version { get ; set ; } = new AppVersion ( ) ;
[Newtonsoft.Json.JsonProperty("installerUri", Required = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required]
public System . Uri InstallerUri { get ; set ; }
2020-08-10 10:11:42 +02:00
}
2020-08-11 08:38:26 +02:00
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.7.0.0 (NJsonSchema v10.1.24.0 (Newtonsoft.Json v11.0.0.0))")]
2020-08-10 10:11:42 +02:00
public partial class ApiException : System . Exception
{
public int StatusCode { get ; private set ; }
public string Response { get ; private set ; }
public System . Collections . Generic . IReadOnlyDictionary < string , System . Collections . Generic . IEnumerable < string > > Headers { get ; private set ; }
public ApiException ( string message , int statusCode , string response , System . Collections . Generic . IReadOnlyDictionary < string , System . Collections . Generic . IEnumerable < string > > headers , System . Exception innerException )
: base ( message + "\n\nStatus: " + statusCode + "\nResponse: \n" + ( ( response = = null ) ? "(null)" : response . Substring ( 0 , response . Length > = 512 ? 512 : response . Length ) ) , innerException )
{
StatusCode = statusCode ;
Response = response ;
Headers = headers ;
}
public override string ToString ( )
{
return string . Format ( "HTTP Response: \n\n{0}\n\n{1}" , Response , base . ToString ( ) ) ;
}
}
2020-08-11 08:38:26 +02:00
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.7.0.0 (NJsonSchema v10.1.24.0 (Newtonsoft.Json v11.0.0.0))")]
2020-08-10 10:11:42 +02:00
public partial class ApiException < TResult > : ApiException
{
public TResult Result { get ; private set ; }
public ApiException ( string message , int statusCode , string response , System . Collections . Generic . IReadOnlyDictionary < string , System . Collections . Generic . IEnumerable < string > > headers , TResult result , System . Exception innerException )
: base ( message , statusCode , response , headers , innerException )
{
Result = result ;
}
}
}
#pragma warning restore 1591
#pragma warning restore 1573
#pragma warning restore 472
#pragma warning restore 114
2020-09-28 08:01:11 +02:00
#pragma warning restore 108