PHPackages                             francodacosta/caparica-guzzle-plugin - 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. francodacosta/caparica-guzzle-plugin

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

francodacosta/caparica-guzzle-plugin
====================================

Guzzle lugin to help making secure requests to your REST api

1.0(11y ago)085MITPHPPHP &gt;=5.3.0

Since Oct 4Pushed 11y ago1 watchersCompare

[ Source](https://github.com/francodacosta/caparica-guzzle-plugin)[ Packagist](https://packagist.org/packages/francodacosta/caparica-guzzle-plugin)[ Docs](https://github.com/francodacosta/caparica-guzzle-plugin)[ RSS](/packages/francodacosta-caparica-guzzle-plugin/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (2)Used By (0)

Caparica Guzzle Plugin
======================

[](#caparica-guzzle-plugin)

A [Guzzle](https://github.com/guzzle/guzzle) plugin to make signed requests to a [Caparica](https://github.com/francodacosta/caparica) enabled API

Installation
============

[](#installation)

the easiest way is to install it via composer

`composer.phar require francodacosta/caparica-guzzle-plugin`

How to use it
=============

[](#how-to-use-it)

```
use Caparica\Client\BasicClient as CaparicaClient;
use Caparica\Crypto\RequestSigner;
use Guzzle\Service\Client;

// 1) create the Caparica client with your client id and password
$client = new CaparicaClient;
$client->setCode('client code');
$client->setSecret('client Secret');

// 2) Instantiate a request signer
$requestSigner = new RequestSigner;

// 3) Set up the plugin
$plugin = new CaparicaGuzzlePlugin(
    $client,
    $requestSigner,
    $includeRequestPathInSignature = true,
    $includeRequestMethodInSignature = true
);

// 4) Register the plugin with guzzle
$guzzle = new Client;
$guzzle->addSubscriber($plugin)

// now you can do your requests, they will automatically be signed
```

Typically this configuration is done in a DI Container, for symfony you could add the following to your services.yml file

```
parameters:
    client.code: client-id
    client.secret: client-secret

    caparica.signature.includes.path: true
    caparica.signature.includes.method: true

services:
    caparica.client:
        class: Caparica\Client\BasicClient
        calls:
            - [setCode,   [%client.code%]]
            - [setsecret, [%client.secret%]]

    caparica.request.signer:
        class: Caparica\Crypto\RequestSigner

    caparica.guzzle.plugin:
        class: Francodacosta\CaparicaBundle\Guzzle\Plugin\CaparicaGuzzlePlugin
        arguments:
            - @caparica.client
            - @caparica.request.signer
            - %caparica.signature.includes.path%
            - %caparica.signature.includes.method%

    caparica.guzzle:
        class: Guzzle\Service\Client
        calls:
            - [addSubscriber, [@caparica.guzzle.plugin]]
```

and on your controller `$caparicaGuzzle = $this->get('caparica.guzzle');` will give you access to Guzzle with the Caparica plugin configured

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

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

Unknown

Total

1

Last Release

4291d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1cbe8ab4840e453e513388d12d589669eb41209dd78c860d72648c0e21a8e83c?d=identicon)[francodacosta](/maintainers/francodacosta)

---

Top Contributors

[![francodacosta](https://avatars.githubusercontent.com/u/769773?v=4)](https://github.com/francodacosta "francodacosta (8 commits)")

---

Tags

apirestsecurehmac

### Embed Badge

![Health badge](/badges/francodacosta-caparica-guzzle-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/francodacosta-caparica-guzzle-plugin/health.svg)](https://phpackages.com/packages/francodacosta-caparica-guzzle-plugin)
```

###  Alternatives

[emartech/escher

Library for HTTP request signing (PHP implementation)

20308.9k9](/packages/emartech-escher)[ezralazuardy/heimdall

Painless OAuth 2.0 Server for CodeIgniter 4

454.2k](/packages/ezralazuardy-heimdall)[hgg/pardot

Pardot API library for building custom CRM connectors

23101.7k](/packages/hgg-pardot)

PHPackages © 2026

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