protected virtual async Task <DadosWebServiceResponse <T> > Post <T, TEnv>(string page, TEnv Env) where T : class where TEnv : class { /*Requests baseados em json*/ DadosWebServiceResponse <T> ret = new DadosWebServiceResponse <T>(null, 0); using (var client = new HttpClient()) { var jsonContent = JsonConvert.SerializeObject(Env); BaseHeader(EMediaType.Requestjson, client); var contentString = new StringContent(jsonContent, Encoding.UTF8, EMediaType.Requestjson.ObterAtributoDescricao()); contentString.Headers.ContentType = new MediaTypeHeaderValue(EMediaType.Requestjson.ObterAtributoDescricao()); HttpResponseMessage response = await client.PostAsync(page, contentString); string retornoBody = await AtualizarBodyStatudCode(ret, response); if (response.IsSuccessStatusCode) { ret = new DadosWebServiceResponse <T>(statusCode: (int)response.StatusCode, dadosRetorno: JsonConvert.DeserializeObject <T>(retornoBody)); } } return(ret); }
async Task <string> AtualizarBodyStatudCode <T>(DadosWebServiceResponse <T> ret, HttpResponseMessage response) where T : class { ret.SetStatusCode((int)response.StatusCode); string retornoBody = await response.Content.ReadAsStringAsync(); ObterResponseAsync(retornoBody, (int)response.StatusCode); return(retornoBody); }
protected virtual async Task <DadosWebServiceResponse <T> > Get <T>(string page) where T : class { DadosWebServiceResponse <T> ret = new DadosWebServiceResponse <T>(null, 0); using (var client = new HttpClient()) { BaseHeader(EMediaType.Requestjson, client); HttpResponseMessage response = await client.GetAsync(page); string retornoBody = await AtualizarBodyStatudCode(ret, response); if (response.IsSuccessStatusCode) { ret = new DadosWebServiceResponse <T>(statusCode: (int)response.StatusCode, dadosRetorno: JsonConvert.DeserializeObject <T>(retornoBody)); } } return(ret); }