public string BuildRequest(IApiRequest request) { if (CachedUrls.ContainsKey(request.Type)) { return(BuildFullUrl()); } var url = $"{ _apiConfig.Protocol}://{ _apiConfig.BaseUrl }/{ _apiConfig.Version }/{ _apiConfig.GetRequestPath(request.Type) }?"; CachedUrls.TryAdd(request.Type, url); string BuildFullUrl() => CachedUrls[request.Type] + request.BuildQueryString(); return(BuildFullUrl()); }