ion-bazan/guzzle-bundle-aliyun-signer-plugin

Alibaba Cloud API Gateway request signing plugin for Guzzle Bundle ⛽️

v0.1.0 2020-07-10 14:30 UTC

This package is auto-updated.

Last update: 2024-04-29 04:40:11 UTC


README

Latest version GitHub Workflow Status PHP version Codecov Mutation testing badge Scrutinizer Code Quality Downloads License

Description

This Guzzle Bundle plugin integrates ion-bazan/aliyun-http-signer with Symfony.

Requirements

Installation

Use Composer to install the plugin using:

composer require ion-bazan/guzzle-bundle-aliyun-signer-plugin

Usage

Enable the Bundle

Symfony 2.x and 3.x

Register the bundle in app/AppKernel.php file:

new EightPoints\Bundle\GuzzleBundle\EightPointsGuzzleBundle([
    new IonBazan\Bundle\GuzzleBundleAliyunSignerPlugin\AliyunRequestSignerPlugin(),
]);

Symfony 4+

To register the plugin in Symfony 4 and newer, replace registerBundles() method in src/Kernel.php:

public function registerBundles(): iterable
{
    $contents = require $this->getProjectDir().'/config/bundles.php';
    foreach ($contents as $class => $envs) {
        if ($envs[$this->environment] ?? $envs['all'] ?? false) {
            if ($class === \EightPoints\Bundle\GuzzleBundle\EightPointsGuzzleBundle::class) {
                yield new $class([
                    new \IonBazan\Bundle\GuzzleBundleAliyunSignerPlugin\AliyunRequestSignerPlugin(),
                ]);
            } else {
                yield new $class();
            }
        }
    }
}

Configuration

# config/packages/eight_points_guzzle.yaml
eight_points_guzzle:
    clients:
        my_client:
            base_url: "http://target.url"
            plugin:
                aliyun_signer:
                    app_id: 'Your AppID'
                    secret: 'Your Secret'

Bugs & issues

If you found a bug or security vulnerability, please open an issue

Contributing

Please feel free to submit Pull Requests adding new features or fixing bugs.

Please note that code must follow PSR-1, PSR-2, PSR-4 and PSR-7.