public async Task <TokenResponse> Get(IQuery <Credentials> query) { var cacheKey = GenerateCacheKey(query.Payload); if (_cache.TryGet(cacheKey, out var result)) { return(result); } result = await _queryHandler.Get(query); _cache.Add(query.Payload.Username, result); return(result); }
public async Task <TResult> Get(IQuery <TPayload> query) { try { _logger.Info("Handling {query}: started", query); var result = await _queryHandler.Get(query); _logger.Info("Handling {query}: finished with {result}", query, result); return(result); } catch (Exception e) { _logger.Error("Error occured: {exception}", e); throw; } }
public async Task <Server[]> Get(IQuery <string> query) { try { var result = await _queryHandler.Get(query); return(result); } catch (ServerQueryException e) { _logger.Error("Error occured in quering server list: {exception}", e); throw; } catch (Exception e) { _logger.Error("Fatal failure: {exception}", e); throw; } }
public async Task <TokenResponse> Get(IQuery <Credentials> query) { try { var result = await _queryHandler.Get(query); return(result); } catch (TokenQueryException e) { _logger.Error("Error occured in quering token: {exception}", e); throw; } catch (Exception e) { _logger.Error("Fatal failure: {exception}", e); throw; } }
public async Task <Server[]> Get(string token) { Ensure.That(token, nameof(token)).IsNotNullOrWhiteSpace(); try { var result = await _queryHandler.Get( new ServerQuery { Payload = token }); return(result); } catch (ServerQueryException e) { throw new ServersServiceException("Getting servers failed", e); } }
public async Task <string> Authenticate(Credentials credentials) { Ensure.That(credentials, nameof(credentials)).IsNotNull(); Ensure.That(credentials.Username, nameof(credentials.Username)).IsNotNullOrWhiteSpace(); Ensure.That(credentials.Password, nameof(credentials.Password)).IsNotNullOrWhiteSpace(); try { var result = await _queryHandler.Get( new TokenQuery { Payload = credentials }); return(result.Token); } catch (TokenQueryException e) { throw new AuthenticationServiceException("Authentication failed", e); } }