refactor: Apply .editorconfig

This commit is contained in:
Mira 2023-09-21 17:01:51 +02:00
parent de08e5e4ee
commit 3cab23c592
Signed by untrusted user who does not match committer: Xorog
GPG key ID: 983798ED9C3E7C36

View file

@ -33,100 +33,88 @@ namespace QuickChart
public Chart(string scheme = null, string host = null, int? port = null) public Chart(string scheme = null, string host = null, int? port = null)
{ {
Width = 500; this.Width = 500;
Height = 300; this.Height = 300;
DevicePixelRatio = 1.0; this.DevicePixelRatio = 1.0;
Format = "png"; this.Format = "png";
BackgroundColor = "transparent"; this.BackgroundColor = "transparent";
if (host != null) if (host != null)
{ {
Host = host; this.Host = host;
if (scheme != null) if (scheme != null)
{ {
Scheme = scheme; this.Scheme = scheme;
if (port.HasValue) this.Port = port ?? (scheme == "http" ? 80 : 443);
{
Port = port.Value;
}
else
{
if(scheme == "http")
{
Port = 80;
}
else
{
Port = 443;
}
}
} }
else else
{ {
Scheme = "https"; this.Scheme = "https";
Port = 443; this.Port = 443;
} }
} }
else else
{ {
Scheme = "https"; this.Scheme = "https";
Host = "quickchart.io"; this.Host = "quickchart.io";
Port = 443; this.Port = 443;
} }
} }
public string GetUrl() public string GetUrl()
{ {
if (Config == null) if (this.Config == null)
{ {
throw new NullReferenceException("You must set Config on the QuickChart object before generating a URL"); throw new NullReferenceException("You must set Config on the QuickChart object before generating a URL");
} }
StringBuilder builder = new StringBuilder(); var builder = new StringBuilder();
builder.Append("w=").Append(Width.ToString()); _ = builder.Append("w=").Append(this.Width.ToString());
builder.Append("&h=").Append(Height.ToString()); _ = builder.Append("&h=").Append(this.Height.ToString());
builder.Append("&devicePixelRatio=").Append(DevicePixelRatio.ToString()); _ = builder.Append("&devicePixelRatio=").Append(this.DevicePixelRatio.ToString());
builder.Append("&f=").Append(Format); _ = builder.Append("&f=").Append(this.Format);
builder.Append("&bkg=").Append(Uri.EscapeDataString(BackgroundColor)); _ = builder.Append("&bkg=").Append(Uri.EscapeDataString(this.BackgroundColor));
builder.Append("&c=").Append(Uri.EscapeDataString(Config)); _ = builder.Append("&c=").Append(Uri.EscapeDataString(this.Config));
if (!string.IsNullOrEmpty(Key)) if (!string.IsNullOrEmpty(this.Key))
{ {
builder.Append("&key=").Append(Uri.EscapeDataString(Key)); _ = builder.Append("&key=").Append(Uri.EscapeDataString(this.Key));
} }
if (!string.IsNullOrEmpty(Version)) if (!string.IsNullOrEmpty(this.Version))
{ {
builder.Append("&v=").Append(Uri.EscapeDataString(Version)); _ = builder.Append("&v=").Append(Uri.EscapeDataString(this.Version));
} }
return $"{Scheme}://{Host}:{Port}/chart?{builder}"; return $"{this.Scheme}://{this.Host}:{this.Port}/chart?{builder}";
} }
public string GetShortUrl() public string GetShortUrl()
{ {
if (Config == null) if (this.Config == null)
{ {
throw new NullReferenceException("You must set Config on the QuickChart object before generating a URL"); throw new NullReferenceException("You must set Config on the QuickChart object before generating a URL");
} }
JsonSerializerOptions options = new JsonSerializerOptions(); var options = new JsonSerializerOptions
options.IgnoreNullValues = true;
String json = JsonSerializer.Serialize(new
{ {
width = Width, IgnoreNullValues = true
height = Height, };
backgroundColor = BackgroundColor,
devicePixelRatio = DevicePixelRatio, var json = JsonSerializer.Serialize(new
format = Format, {
chart = Config, width = this.Width,
key = Key, height = this.Height,
version = Version, backgroundColor = this.BackgroundColor,
devicePixelRatio = this.DevicePixelRatio,
format = this.Format,
chart = this.Config,
key = this.Key,
version = this.Version,
}, options); }, options);
string url = $"{Scheme}://{Host}:{Port}/chart/create"; var url = $"{this.Scheme}://{this.Host}:{this.Port}/chart/create";
HttpResponseMessage response = Client.PostAsync( var response = Client.PostAsync(
url, url,
new StringContent(json, Encoding.UTF8, "application/json") new StringContent(json, Encoding.UTF8, "application/json")
).Result; ).Result;
@ -136,52 +124,49 @@ namespace QuickChart
throw new ApiException("Unsuccessful response from API", response); throw new ApiException("Unsuccessful response from API", response);
} }
string responseText = response.Content.ReadAsStringAsync().Result; var responseText = response.Content.ReadAsStringAsync().Result;
QuickChartShortUrlResponse result = JsonSerializer.Deserialize<QuickChartShortUrlResponse>(responseText); var result = JsonSerializer.Deserialize<QuickChartShortUrlResponse>(responseText);
return result.url; return result.url;
} }
public byte[] ToByteArray() public byte[] ToByteArray()
{ {
if (Config == null) if (this.Config == null)
{ {
throw new NullReferenceException("You must set Config on the QuickChart object before generating a URL"); throw new NullReferenceException("You must set Config on the QuickChart object before generating a URL");
} }
JsonSerializerOptions options = new JsonSerializerOptions(); var options = new JsonSerializerOptions
options.IgnoreNullValues = true;
String json = JsonSerializer.Serialize(new
{ {
width = Width, IgnoreNullValues = true
height = Height, };
backgroundColor = BackgroundColor,
devicePixelRatio = DevicePixelRatio, var json = JsonSerializer.Serialize(new
format = Format, {
chart = Config, width = this.Width,
key = Key, height = this.Height,
version = Version, backgroundColor = this.BackgroundColor,
devicePixelRatio = this.DevicePixelRatio,
format = this.Format,
chart = this.Config,
key = this.Key,
version = this.Version,
}, options); }, options);
string url = $"{Scheme}://{Host}:{Port}/chart"; var url = $"{this.Scheme}://{this.Host}:{this.Port}/chart";
HttpResponseMessage response = Client.PostAsync( var response = Client.PostAsync(
url, url,
new StringContent(json, Encoding.UTF8, "application/json") new StringContent(json, Encoding.UTF8, "application/json")
).Result; ).Result;
if (!response.IsSuccessStatusCode) return !response.IsSuccessStatusCode
{ ? throw new ApiException("Unsuccessful response from API", response)
throw new ApiException("Unsuccessful response from API", response); : response.Content.ReadAsByteArrayAsync().Result;
}
return response.Content.ReadAsByteArrayAsync().Result;
} }
public void ToFile(string filePath) public void ToFile(string filePath)
{ => File.WriteAllBytes(filePath, this.ToByteArray());
File.WriteAllBytes(filePath, this.ToByteArray());
}
} }
public class ApiException : Exception public class ApiException : Exception