private async Task <IViaCepResposta> TentaObterRespostaAsync(IViaCepUri uri) { var resposta = await _cliente.ObterRespostaAsync(uri); GaranteCodigoDeSucessoOuLancaException(resposta); return(resposta); }
public async Task <XDocument> ObterEnderecoComoXmlAsync(Cep cep) { var requisicao = _requisicaoPorCepFactory.NovaRequisicaoXml(cep); var resposta = await _cliente.ObterRespostaAsync(requisicao); GaranteCodigoDeSucessoOuLancaException(resposta); var conteudo = resposta.ObterConteudo(); GaranteConteudoDaRequisicaoPorCepSemErroOuLancaException(conteudo); return(conteudo.LerComoXml()); }
private Task <string> ObterEnderecoPorCepComoStringAsync(Cep cep, ViaCepFormatoRequisicao formatoRequisicao) => Task.Run(async() => { IViaCepRequisicaoPor <Cep> requisicao = NovaRequisicaoPorCep(cep, formatoRequisicao); IViaCepResposta resposta = await _cliente.ObterRespostaAsync(requisicao.ToUri); GaranteCodigoDeSucessoOuLancaException(resposta); IViaCepConteudo conteudo = resposta.ObterConteudo(); GaranteConteudoDaRequisicaoPorCepSemErroOuLancaException(conteudo); return(conteudo.LerComoString()); });