PHPackages                             sokil/php-guzzlecomponents - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. sokil/php-guzzlecomponents

ActiveLibrary

sokil/php-guzzlecomponents
==========================

Extensions for PHP Guzzle lib

0.3(12y ago)02791MITPHP

Since May 17Pushed 11y ago1 watchersCompare

[ Source](https://github.com/sokil/php-guzzlecomponents)[ Packagist](https://packagist.org/packages/sokil/php-guzzlecomponents)[ RSS](/packages/sokil-php-guzzlecomponents/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (2)Dependencies (1)Versions (3)Used By (1)

Guzzle 3 Components
===================

[](#guzzle-3-components)

Installation
------------

[](#installation)

Installation can be made through Composer:

```
require: {
    "sokil/php-guzzlecomponents": "dev-master"
}

```

Signing request
---------------

[](#signing-request)

This plugin used to sign request on client. For example server gives access to API for that applications who knows "Application ID" and corresponding "Key".

Guzzle client must add configured plugin:

```
$client->addSubscriber(new \Sokil\Guzzle\Plugin\RequestSign(array(
    'key'               => $cryptKey,
    'algo'              => 'sha1',
    'queryParamName'    => 'sign',
    'additionalParams'  => [
        'app_id'    => $applicationId,
    ]
)));
```

ParameterTypeRequiredDefault valueDescriptionkeystringrequiredKey which used to crypt messagealgostringoptionalsha1Crypt algorythmqueryParamNamestringoptionalsignName of query string parameter where signatupe passedadditionalParamsarrayoptionalParameters, additionaly send in query string and signed if request passed through GET methodAlgorithm of validation signed request on server:

```
// check if fields passed in query
if(empty($_GET['sign']) || empty($_GET['app_id']) {
    Header('HTTP/1.0 403 Forbidden');
    exit;
}

// get crypt key from storage by application id
$applicationId = $_GET['app_id'];
$cryptKey = get_crypt_key($applicationId);

// get message
if('POST' === $_SERVER['REQUEST_METHOD']) {
    $body = file_get_contents('php://input');
} else {
    $body = $_GET;
    // sign key not crypted so it must be unset from message
    unset($body['sign']);
    // params must be sorted
    ksort($body);
    // query gathered to string
    $body = http_build_query($body);
}

// calculate and compare sign with passed
return ($_GET['sign'] === hash_hmac('sha1', $body, $cryptKey));
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

4383d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/902e21ecf6517341b1f2a3c2f93a3eb115396fc6524effaeabc816b481909e64?d=identicon)[sokil](/maintainers/sokil)

---

Top Contributors

[![sokil](https://avatars.githubusercontent.com/u/1829948?v=4)](https://github.com/sokil "sokil (9 commits)")

### Embed Badge

![Health badge](/badges/sokil-php-guzzlecomponents/health.svg)

```
[![Health](https://phpackages.com/badges/sokil-php-guzzlecomponents/health.svg)](https://phpackages.com/packages/sokil-php-guzzlecomponents)
```

###  Alternatives

[coincheck/coincheck

Bindings of coincheck API

202.2k](/packages/coincheck-coincheck)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
