protected async Task <TResponse> GetAsync <TRequest, TResponse>(TRequest request) where TRequest : APIRequestBodyBase <TRequest> where TResponse : APIResponseBodyBase <TResponse> { var result = await _handler.HandleAsync(() => { _restfulClient = _restfulClient ?? new RestfulClient(); return(_restfulClient.DoGetAsync(request.Url, request.ToString(), request.Headers)); }); var response = APIResponseBodyBase <TResponse> .Deserialize(result); return(response); }