public async Task <HttpResult <T> > Get <T>(int id, string path = null, CancellationToken token = default(CancellationToken))
        {
            _httpClientManager.CheckAuthorization();

            _stringBuilder.Clear();
            _stringBuilder.AppendFormat("{0}{1}/{2}", _url, path, id);

            var response = await _client.GetAsync(_stringBuilder.ToString(), token);

            var result = new HttpResult <T>();

            await FillErrors(response, result.Error);

            if (response.StatusCode == HttpStatusCode.OK)
            {
                var stream = await response.Content.ReadAsStreamAsync();

                result.Data = _httpHelper.DeserializeJsonFromStream <T>(stream);
                _httpHelper.CleanUpReaders();
            }

            return(result);
        }