Repository navigation
Update dependencies in go.mod - #63
Open
teobaldotech wants to merge 4 commits into
Open
teobaldotech wants to merge 4 commits into
teobaldotech wants to merge 4 commits into
Conversation
Updated goquery and testify dependencies to newer versions.
Atualiza o .gitignore do projeto Go para excluir binários compilados, arquivos de cobertura de testes, relatórios de profiling, variáveis de ambiente, segredos, logs, arquivos temporários e configurações de IDE. Preserva arquivos de exemplo de ambiente, como .env.example, e mantém o repositório organizado para desenvolvimento, testes automatizados e integração contínua.
Updated .gitignore to include additional patterns and translated comments to Portuguese.
Visão Geral dos Componentes e Fluxo 1. Cliente e Consumo da API (WeatherService) Gerenciamento de Timeouts: Instancia o http.Client com tempo limite (Timeout: 10 * time.Second) para garantir que o servidor não fique com threads travadas caso a API do OpenWeatherMap demore a responder. Mapeamento de Parâmetros: Converte a unidade de medição selecionada pelo usuário (celsius ou fahrenheit) para os valores aceitos pela API de destino (metric ou imperial). Suporte a context.Context: Utiliza http.NewRequestWithContext atrelado ao ciclo de vida da requisição HTTP (r.Context()). Se o cliente cancelar a requisição ou o tempo limite expirar, o Go interrompe imediatamente a chamada externa, economizando recursos de I/O. Escaping de URLs: Utiliza url.QueryEscape(city) para formatar nomes de cidades que contenham espaços ou caracteres especiais (como "São Paulo"). 2. Manipulador HTTP ( CurrentWeather) Extração de Parâmetros: Lê a variável de caminho (city) e o parâmetro de consulta (unit), aplicando fallback para celsius caso não seja informado. Gerenciamento de Variáveis de Ambiente: Lê a chave da API (OPENWEATHER_API_KEY) via os.Getenv(), evitando salvar credenciais sensíveis diretamente no código-fonte. Tratamento de Status HTTP: Retorna 400 Bad Request se a unidade informada for inválida. Retorna 404 Not Found se a cidade pesquisada não existir no serviço externo. Retorna 500 Internal Server Error se a chave de API estiver ausente ou ocorrer um erro imprevisto. Serialização JSON: Formata e envia a resposta tratada (City, Temperature, . Unit) no formato JSON com o cabeçalho Content-Type: application/json
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated goquery and testify dependencies to newer versions.