Skip to content

Commit

Permalink
Merge pull request #47 from Afischbacher/develop
Browse files Browse the repository at this point in the history
v3.2.0
  • Loading branch information
Afischbacher authored Jan 24, 2024
2 parents d543a3f + f13c17b commit d68904b
Show file tree
Hide file tree
Showing 40 changed files with 7,100 additions and 3,261 deletions.
16 changes: 16 additions & 0 deletions GitVersion.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
mode: Mainline
tag-prefix: '[v]'
branches:
master:
mode: ContinuousDelivery
regex: ^master$
increment: Minor
tag-number-pattern: '[v]?(\d+\.\d+\.\d+)(?:[-.\+a-zA-Z\d]+)?'
is-release-branch: true
commit-message-incrementing: Enabled
tag: ''
prevent-increment-of-merged-branch-version: false
prevent-increment-of-merged-branch-version-message: ''
ignore:
sha: []
merge-message-formats: {}
30 changes: 0 additions & 30 deletions Nhl.Api.Common/Extensions/LinqExtensions.cs

This file was deleted.

24 changes: 0 additions & 24 deletions Nhl.Api.Common/Extensions/StringExtensions.cs

This file was deleted.

167 changes: 167 additions & 0 deletions Nhl.Api.Common/Helpers/TeamNames.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
namespace Nhl.Api.Common.Helpers;

/// <summary>
/// A helper class for all NHL team names
/// </summary>
public static class TeamNames
{
/// <summary>
/// Anaheim Ducks
/// </summary>
public const string AnaheimDucks = "Anaheim Ducks";

/// <summary>
/// Arizona Coyotes
/// </summary>
public const string ArizonaCoyotes = "Arizona Coyotes";

/// <summary>
/// Boston Bruins
/// </summary>
public const string BostonBruins = "Boston Bruins";

/// <summary>
/// Buffalo Sabres
/// </summary>
public const string BuffaloSabres = "Buffalo Sabres";

/// <summary>
/// Calgary Flames
/// </summary>
public const string CalgaryFlames = "Calgary Flames";

/// <summary>
/// Carolina Hurricanes
/// </summary>
public const string CarolinaHurricanes = "Carolina Hurricanes";

/// <summary>
/// Chicago Blackhawks
/// </summary>
public const string ChicagoBlackhawks = "Chicago Blackhawks";

/// <summary>
/// Colorado Avalanche
/// </summary>
public const string ColoradoAvalanche = "Colorado Avalanche";

/// <summary>
/// Columbus Blue Jackets
/// </summary>
public const string ColumbusBlueJackets = "Columbus Blue Jackets";

/// <summary>
/// Dallas Stars
/// </summary>
public const string DallasStars = "Dallas Stars";

/// <summary>
/// Detroit Red Wings
/// </summary>
public const string DetroitRedWings = "Detroit Red Wings";

/// <summary>
/// Edmonton Oilers
/// </summary>
public const string EdmontonOilers = "Edmonton Oilers";

/// <summary>
/// Florida Panthers
/// </summary>
public const string FloridaPanthers = "Florida Panthers";

/// <summary>
/// Los Angeles Kings
/// </summary>
public const string LosAngelesKings = "Los Angeles Kings";

/// <summary>
/// Minnesota Wild
/// </summary>
public const string MinnesotaWild = "Minnesota Wild";

/// <summary>
/// Montreal Canadiens
/// </summary>
public const string MontrealCanadiens = "Montreal Canadiens";

/// <summary>
/// Nashville Predators
/// </summary>
public const string NashvillePredators = "Nashville Predators";

/// <summary>
/// New Jersey Devils
/// </summary>
public const string NewJerseyDevils = "New Jersey Devils";

/// <summary>
/// New York Islanders
/// </summary>
public const string NewYorkIslanders = "New York Islanders";

/// <summary>
/// New York Rangers
/// </summary>
public const string NewYorkRangers = "New York Rangers";

/// <summary>
/// Ottawa Senators
/// </summary>
public const string OttawaSenators = "Ottawa Senators";

/// <summary>
/// Philadelphia Flyers
/// </summary>
public const string PhiladelphiaFlyers = "Philadelphia Flyers";

/// <summary>
/// Pittsburgh Penguins
/// </summary>
public const string PittsburghPenguins = "Pittsburgh Penguins";

/// <summary>
/// San Jose Sharks
/// </summary>
public const string SanJoseSharks = "San Jose Sharks";

/// <summary>
/// Seattle Kraken
/// </summary>
public const string SeattleKraken = "Seattle Kraken";

/// <summary>
/// St. Louis Blues
/// </summary>
public const string StLouisBlues = "St. Louis Blues";

/// <summary>
/// Tampa Bay Lightning
/// </summary>
public const string TampaBayLightning = "Tampa Bay Lightning";

/// <summary>
/// Toronto Maple Leafs
/// </summary>
public const string TorontoMapleLeafs = "Toronto Maple Leafs";

/// <summary>
/// Vancouver Canucks
/// </summary>
public const string VancouverCanucks = "Vancouver Canucks";

/// <summary>
/// Vegas Golden Knights
/// </summary>
public const string VegasGoldenKnights = "Vegas Golden Knights";

/// <summary>
/// Washington Capitals
/// </summary>
public const string WashingtonCapitals = "Washington Capitals";

/// <summary>
/// Winnipeg Jets
/// </summary>
public const string WinnipegJets = "Winnipeg Jets";
}
26 changes: 25 additions & 1 deletion Nhl.Api.Common/Http/NhlApiHttpClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,14 @@ public interface INhlApiHttpClient
/// <returns>A byte array payload from the HTTP GET request</returns>
Task<byte[]> GetByteArrayAsync(string route, CancellationToken cancellationToken = default);

/// <summary>
/// Performs a HTTP GET request and returns a string
/// </summary>
/// <param name="route">The Nhl.Api endpoint</param>
/// <param name="cancellationToken"> A cancellation token that can be used by other objects or threads to receive notice of cancellation</param>
/// <returns>A byte array payload from the HTTP GET request</returns>
Task<string> GetStringAsync(string route, CancellationToken cancellationToken = default);

/// <summary>
/// The HTTP Client for the Nhl.Api
/// </summary>
Expand Down Expand Up @@ -55,7 +63,7 @@ public abstract class NhlApiHttpClient : INhlApiHttpClient
public NhlApiHttpClient(string clientApiUri, string clientVersion, int timeoutInSeconds = 30)
{
ServicePointManager.ReusePort = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls13 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

Client = clientApiUri;
ClientVersion = clientVersion;
Expand Down Expand Up @@ -115,4 +123,20 @@ public async Task<byte[]> GetByteArrayAsync(string route, CancellationToken canc
var endpoint = $"{HttpClient.BaseAddress}{route}";
return await HttpClient.GetByteArrayAsync(endpoint, cancellationToken);
}

/// <summary>
/// Performs a HTTP GET request and returns a string
/// </summary>
/// <param name="route">The Nhl.Api endpoint</param>
/// <param name="cancellationToken"> A cancellation token that can be used by other objects or threads to receive notice of cancellation</param>
/// <returns>A byte array payload from the HTTP GET request</returns>
public async Task<string> GetStringAsync(string route, CancellationToken cancellationToken = default)
{
if (string.IsNullOrWhiteSpace(route))
{
throw new ArgumentNullException(nameof(route));
}
var endpoint = $"{HttpClient.BaseAddress}{route}";
return await (await HttpClient.GetAsync(endpoint, cancellationToken)).Content.ReadAsStringAsync(cancellationToken);
}
}
12 changes: 4 additions & 8 deletions Nhl.Api.Common/Http/NhlApiWebHttpClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,11 @@ public override HttpClient HttpClient
{
lock (_lock)
{
if (_httpClient == null)
_httpClient ??= new HttpClient()
{
_httpClient = new HttpClient()
{
BaseAddress = new Uri($"{Client}{ClientVersion}"),
Timeout = Timeout
};

}
BaseAddress = new Uri($"{Client}{ClientVersion}"),
Timeout = Timeout
};

return _httpClient;
}
Expand Down
11 changes: 4 additions & 7 deletions Nhl.Api.Common/Http/NhlCmsHttpClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,11 @@ public override HttpClient HttpClient
{
lock (_lock)
{
if (_httpClient == null)
_httpClient ??= new HttpClient
{
_httpClient = new HttpClient
{
BaseAddress = new Uri($"{Client}{ClientVersion}"),
Timeout = Timeout
};
}
BaseAddress = new Uri($"{Client}{ClientVersion}"),
Timeout = Timeout
};

return _httpClient;
}
Expand Down
12 changes: 4 additions & 8 deletions Nhl.Api.Common/Http/NhlEApiHttpClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,11 @@ public override HttpClient HttpClient
{
lock (_lock)
{
if (_httpClient == null)
_httpClient ??= new HttpClient()
{
_httpClient = new HttpClient()
{
BaseAddress = new Uri($"{Client}{ClientVersion}"),
Timeout = Timeout
};

}
BaseAddress = new Uri($"{Client}{ClientVersion}"),
Timeout = Timeout
};

return _httpClient;
}
Expand Down
47 changes: 47 additions & 0 deletions Nhl.Api.Common/Http/NhlScoresHtmlReportsApiHttpClient.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
using System;
using System.Net.Http;

namespace Nhl.Api.Common.Http;

/// <summary>
/// The NHL endpoint for HTML reports
/// </summary>
public class NhlScoresHtmlReportsApiHttpClient : NhlApiHttpClient
{
private static readonly object _lock = new object();
private static HttpClient _httpClient;

/// <summary>
/// The NHL endpoint for HTML reports
/// </summary>
public const string ClientApiUrl = "https://www.nhl.com/scores/htmlreports/";


/// <summary>
/// The dedicated NHL endpoint for HTML reports
/// </summary>
public NhlScoresHtmlReportsApiHttpClient() : base(clientApiUri: ClientApiUrl, clientVersion: string.Empty, timeoutInSeconds: 30)
{

}

/// <summary>
/// The HTTP Client dedicated NHL endpoint for HTML reports
/// </summary>
public override HttpClient HttpClient
{
get
{
lock (_lock)
{
_httpClient ??= new HttpClient()
{
BaseAddress = new Uri($"{Client}{ClientVersion}"),
Timeout = Timeout
};

return _httpClient;
}
}
}
}
Loading

0 comments on commit d68904b

Please sign in to comment.