bonuscred / rest-client
API client manager for handling HTTP requests and responses
v1.1.1
2024-06-24 17:24 UTC
Requires
- php: >=8.0
README
Gerenciador de requisições HTTP utilizando cURL
Instalação
Para instalar esta dependência através do Composer.
composer require bonuscred/rest-client
Utilização
$req = new RestClient\Request; $res = $req->get('https://api.github.com/repos/dnlfranklin/rest-client'); echo $res->getHeaderLine('content-type'); echo $res->get_http_code(); echo $res->get_data();
Request
Métodos
Chamadas HTTP
Todas as chamadas HTTP retornam um objeto Response.
Chamada com método estático
$res = new RestClient\Request::run('https://api.github.com/repos/dnlfranklin/rest-client', 'GET'); // Objeto Response
Callback hooks
$req = new RestClient\Request; // Callback chamado em caso em requisições bem sucedidas $req->onSuccess(function(Response $response){ echo 'Success: '.$response->get_http_code(); }); // Callback chamado em caso de erro de requisição $req->onError(function(Response $response){ echo 'Error: '.$response->get_errmessage(); }); // Callback chamado após finalização de requisição $req->onComplete(function(Response $response){ echo $response->get_body(); }); $res = $req->get('https://api.github.com/repos/dnlfranklin/rest-client');
Concatenação de métodos
$req = new RestClient\Request; $res_data = $req->baseUrl('https://api.github.com') ->buildIndexedQueries(true) ->requestFormat('json') ->responseFormat('json') ->userAgent('Minha API/1.0.0') ->onError(function(Response $response){ echo 'Error: '.$response->get_errmessage(); }) ->get('/repos/dnlfranklin/rest-client') ->get_data();
Response
Decode
Suporta atualmente json e xml como auto-decodes, retornando um Array identado dos atributos, caso seja encontado no header (content-type) ou passado via request (responseFormat()).
$res = new RestClient\Request::run('https://api.github.com/repos/dnlfranklin/rest-client'); $data = $res->get_data(); // Array de atributos recebidos no formato json
Pode ser formatado através de um callback.
$res = new RestClient\Request::run('https://api.github.com/repos/dnlfranklin/rest-client'); $data = $res->decode(function($body){ //Tratamento específico de decode });
Atributos
É possível acessar todos os dados de requisição/resposta diretamente dos atributos ou via função encapsulada (get_) do objeto Respnse. Lista de atributos disponíveis:
Requisitos
- PHP 8.0 ou superior
- Pacote libcurl versão 7.29.0 ou superior