lia-tec/http

1.0.6 2022-10-18 18:22 UTC

This package is auto-updated.

Last update: 2024-09-18 22:41:35 UTC


README

用法

为基本认证创建凭证

LiaTec\Http\Credential 扩展并创建自定义类凭证

use LiaTec\Http\Credential;

class MyCustomCredential extends Credential
{
    /**
    * Init any value
    *
    * @return void
    */
    public function boot()
    {
        
    }
    
    /**
    * Modifies request headers if you need
    *
    * @return void
    */
    public function request()
    {
        // $this->header('Test', 'Testing');        
    }

    /**
     * Prepare payload for Basic auth token
     * username and password values are required
     */
    public function getTokenRequestParameters(): array
    {
        return [
            'username' => $this->username,
            'password' => $this->password,
        ];
    }
}

从工厂获取基本客户端

$client = Http::basic(
    new MyCustomCredential(['username' => $this->username, 'password' => $this->password])
)->protocol('https')->baseUrl("domain.com");

进行调用

$client->get('resourceName'); // calls: GET https://domain.com/resourceName
$client->post('resourceName',[ 'payload'=>'value', 'more'=> true ]);
$client->put('resourceName',[ 'payload'=>'value', 'more'=> true ]);
$client->patch('resourceName',[ 'payload'=>'value', 'more'=> true ]);

每次调用都会获取到 Authorization: Basic <token> 头,其中 <token>base64_encode("{username}:{password}") 生成