Características Principais
- Suporte para métodos HTTP: GET, POST, PUT
- Envio automático de dados em formato JSON
- Suporte para autenticação via cabeçalho Authorization
- Cabeçalhos HTTP personalizáveis
- Configurações CURL personalizáveis
- Tratamento automático de erros
- Parsing automático de respostas JSON
Configurações Padrão
A classe utiliza as seguintes configurações padrão para as requisições:- Timeout de conexão: 10 segundos
- Verificação SSL: Desativada
- Retorno como string: Ativado
- Content-Type: application/json (para POST e PUT)
Métodos Disponíveis
GET
POST
PUT
Tratamento de Erros
A classe lança exceções em dois casos principais:- Quando ocorre um erro na requisição CURL:
- Quando a API retorna um código de erro HTTP (>= 400):
Exemplos Avançados
Requisição com Timeout Personalizado
Requisição com Múltiplos Cabeçalhos
Requisição com Form-Data
Dicas de Uso
- Sempre use try/catch: A classe lança exceções em caso de erros, então é importante tratar essas exceções.
- Verifique o tipo de resposta: A classe tenta decodificar a resposta como JSON, mas se falhar, retorna a resposta bruta.
-
Use autenticação quando necessário: Para APIs que requerem autenticação, sempre forneça o token no parâmetro
$authorization. -
Personalize o timeout: Para requisições que podem demorar mais, ajuste o timeout usando
$customOptions. -
Cabeçalhos personalizados: Use o parâmetro
$customHeaderspara adicionar cabeçalhos específicos da sua API.
Limitações
- Não suporta requisições DELETE (embora o método
requestsuporte) - Timeout padrão de 10 segundos pode ser muito curto para algumas operações
- Verificação SSL desativada por padrão (pode ser ativada via
$customOptions)