From 309c7f81baec2e97f4d2a7d54dab019021e7a53c Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Mon, 9 Oct 2017 14:34:44 -0400 Subject: [PATCH] formats --- src/Icons/Controllers/IconsController.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Icons/Controllers/IconsController.cs b/src/Icons/Controllers/IconsController.cs index 76f35a1be8..7631c97b0b 100644 --- a/src/Icons/Controllers/IconsController.cs +++ b/src/Icons/Controllers/IconsController.cs @@ -28,8 +28,16 @@ namespace Bit.Icons.Controllers } [HttpGet("")] - public async Task Get([FromQuery]string domain, [FromQuery]string size = "16..24..200") + public async Task Get( + [FromQuery]string domain, + [FromQuery]string size = "16..24..200", + [FromQuery]string formats = null) { + if(string.IsNullOrWhiteSpace(domain)) + { + return new BadRequestResult(); + } + if(!domain.StartsWith("http://") || !domain.StartsWith("https://")) { domain = "http://" + domain; @@ -41,12 +49,12 @@ namespace Bit.Icons.Controllers } var mappedDomain = _domainMappingService.MapDomain(uri.Host); - var cacheKey = $"{mappedDomain}_{size}"; + var cacheKey = $"{mappedDomain}_{size}_{formats}"; var icon = await _memoryCache.GetOrCreateAsync(cacheKey, async entry => { entry.AbsoluteExpiration = DateTime.UtcNow.AddHours(_iconsSettings.CacheHours); - var iconUrl = $"{_iconsSettings.BestIconBaseUrl}/icon?url={mappedDomain}&size={size}"; + var iconUrl = $"{_iconsSettings.BestIconBaseUrl}/icon?url={mappedDomain}&size={size}&formats={formats}"; var response = await _httpClient.GetAsync(iconUrl); if(!response.IsSuccessStatusCode) {