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. [HTTP &amp; Networking](/categories/http)
4. /
5. sokil/php-guzzlecomponents

ActiveLibrary[HTTP &amp; Networking](/categories/http)

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 3w 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 41% 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

4429d 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

[hgg/pardot

Pardot API library for building custom CRM connectors

23101.7k](/packages/hgg-pardot)[bradfeehan/desk-php

PHP client for Desk.com v2 API based on Guzzle

2281.4k](/packages/bradfeehan-desk-php)[zfr/zfr-pusher

PHP library for interacting with the Pusher REST API

2112.7k1](/packages/zfr-zfr-pusher)

PHPackages © 2026

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