jetimob/http-php-laravel
http-php-laravel
Essa biblioteca funciona como um envelope em torno do Guzzle para facilitar a troca de requisições que precisam de alguma forma de autorização (como o OAuth 2.0) e para automatizar a deserialização das respostas HTTP em instâncias de objetos que representam essas respostas.
Para mais informações sobre a deserialização automática de respostas para classes, olhar o método complexResponseWithArrayTyping.
Toda parte fazer a requisição HTTP é delegada ao Guzzle, sendo assim, a maioria das configurações utilizadas pode ser retirada da documentação oficial.
OAuth 2.0
Flows
Client Credentials
Authorization code
Configuração
Serialização
Importante!
Se o OPcache for utilizado, a opção opcache.save_comments precisa ser ativada, i.e.: opcache.save_comments=1.
Isso é necessário para que os vetores de uma resposta possam ser automaticamente deserializados com um PHP docblock.
Por exemplo, considere o código abaixo:
/**
* @var \Jetimob\Http\Response[] $response_array
*/
protected array $response_array = [];
Se essa declaração estiver dentro de uma classe que estenda \Jetimob\Http\Response e a resposta HTTP conter uma
propriedade nomeada response do tipo array, ela será automaticamente deserializada num vetor de objetos do tipo
declarado no docblock (\Jetimob\Http\Response nesse caso).
Para funcionar corretamente, o tipo da variável definida deve usar a trait Jetimob\Http\Traits\Serializable.
A definição do tipo da variável no docblock precisa estar na sua forma completa, isso é, \Jetimob\Http\Response
e não Response junto de uma importação de namespace use Jetimob\Http\Response;.
Related Packages
Laravel package to integrate the Httplug generic HTTP client into Laravel
A Laravel middleware for adding ETags to HTTP requests to improve response times
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| 2.2.2 | ^8.1 | ^9 | | MIT | |
| v2.2.1 | ^8.1 | ^9 | | MIT | |
| v2.2.0 | ^8.1 | ^9.0 | MIT | |
| v2.1.1 | ^8.0 | ^9.0 | MIT | |
| v2.1.0 | ^8.0 | ^9.0 | MIT | |
| v2.0.0 | ^8.0 | ^9.0 | MIT | |
| v1.4.0 | ^7.4 | | ^6.0 | | MIT | |
| v1.3.3 | ^7.4 | | ^6.0 | | MIT | |
| v1.3.2 | ^7.4 | | ^6.0 | | MIT | |
| v1.3.1 | ^7.4 | | ^6.0 | | MIT | |
| v1.3.0 | ^7.4 | | ^6.0 | | MIT | |
| v1.2.0 | ^7.4| | MIT | ||
| v1.1.1 | ^7.4| | MIT | ||
| v1.1.0 | ^7.4| | MIT | ||
| v1.0.0 | ^7.4| | MIT | ||
| v0.2.0 | ^7.4| | MIT |