Browse Source

allow custom size to be passed in

pull/139/head
Kyle Spearrin 8 years ago
parent
commit
c88f4064f1
  1. 7
      src/Icons/Controllers/IconsController.cs

7
src/Icons/Controllers/IconsController.cs

@ -28,7 +28,7 @@ namespace Bit.Icons.Controllers @@ -28,7 +28,7 @@ namespace Bit.Icons.Controllers
}
[HttpGet("")]
public async Task<IActionResult> Get([FromQuery] string domain)
public async Task<IActionResult> Get([FromQuery]string domain, [FromQuery]string size = "16..24..200")
{
if(!domain.StartsWith("http://") || !domain.StartsWith("https://"))
{
@ -41,11 +41,12 @@ namespace Bit.Icons.Controllers @@ -41,11 +41,12 @@ namespace Bit.Icons.Controllers
}
var mappedDomain = _domainMappingService.MapDomain(uri.Host);
var icon = await _memoryCache.GetOrCreateAsync(mappedDomain, async entry =>
var cacheKey = $"{mappedDomain}_{size}";
var icon = await _memoryCache.GetOrCreateAsync(cacheKey, async entry =>
{
entry.AbsoluteExpiration = DateTime.UtcNow.AddHours(_iconsSettings.CacheHours);
var iconUrl = $"{_iconsSettings.BestIconBaseUrl}/icon?url={mappedDomain}&size=16..24..200";
var iconUrl = $"{_iconsSettings.BestIconBaseUrl}/icon?url={mappedDomain}&size={size}";
var response = await _httpClient.GetAsync(iconUrl);
if(!response.IsSuccessStatusCode)
{

Loading…
Cancel
Save