Skip to content

bluebeetlept/idempotency-middleware

Idempotency Middleware

Tests Code Analysis License

Simple and fully tested Laravel middleware for implementing idempotency in your API requests.

Quick Start

composer require bluebeetle/idempotency-middleware

Add the middleware to your routes:

use BlueBeetle\IdempotencyMiddleware\Idempotency;

Route::middleware([Idempotency::class])->group(function () {
    Route::post('/orders', [OrderController::class, 'store']);
});

Send requests with an Idempotency-Key header (UUID v4):

POST /api/orders HTTP/1.1
Idempotency-Key: 6b3fd36c-24c6-4eb2-a764-bb6c91b33e56
Content-Type: application/json

{"product_id": 1, "quantity": 2}

Repeated requests with the same key return the cached response instead of processing again.

Documentation

Full documentation is available at bluebeetle.pt/open-source/docs/idempotency-middleware.

Testing

composer test

Credits

License

Licensed under the MIT license.

About

Idempotency Middleware for Laravel

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages