/// <summary> /// Get cep details information from cep /// </summary> public Task <ResponseMessage <CepDetails> > SendRequestAsync(Cep cep) { if (cep == null) { return(Task.FromResult(new ResponseMessage <CepDetails>(ErrorCodes.CepRequired, "Cep is required"))); } cep.Validate(); if (cep.IsInvalid()) { return(Task.FromResult(new ResponseMessage <CepDetails>(cep.GetValidationErrors().First()))); } return(SendRequestAndParseResultAsync(cep)); }
private Task ProcessCepRequest(HttpContext context) { Cep cep = new Cep(context.Request.RouteValues["cep"].ToString()); cep.Validate(); if (cep.IsInvalid()) { context.Response.StatusCode = (int)HttpStatusCode.BadRequest; context.Response.ContentType = "text/html"; return(context.Response.WriteAsync("<html><head></head><body>400 - Bad Request</body></html>")); } if (cep.Value == "00000000") { context.Response.StatusCode = (int)HttpStatusCode.OK; context.Response.ContentType = "application/json"; return(context.Response.WriteAsync(@"{""erro"":true}")); } StringBuilder builder = new StringBuilder() .Append("{") .Append($@"""cep"":""{cep.Value}"",") .Append($@"""logradouro"":""Praça da Sé"",") .Append($@"""complemento"":""lado ímpar"",") .Append($@"""bairro"":""Sé"",") .Append($@"""localidade"":""São Paulo"",") .Append($@"""uf"":""SP"",") .Append($@"""ibge"":""3550308"",") .Append($@"""gia"":""1004"",") .Append($@"""ddd"":""11"",") .Append($@"""siafi"":""7107""") .Append("}"); context.Response.StatusCode = (int)HttpStatusCode.OK; context.Response.ContentType = "application/json"; return(context.Response.WriteAsync(builder.ToString())); }