Add README to present the library and show how to use it.

This commit is contained in:
Madeorsk 2023-05-26 14:28:47 +02:00
parent 83f50ba4e9
commit 1e20a86e4a
1 changed files with 48 additions and 0 deletions

48
README.md Normal file
View File

@ -0,0 +1,48 @@
# Forwarded
Forwarded is a PHP library which parse the `Forwarded` request header as defined in [RFC 7239](https://datatracker.ietf.org/doc/html/rfc7239). The `Forwarded` header is a standardized method for identifying the originating IP address of a client connecting to a web server through an HTTP proxy or load balancer, for example.
Forwarded is distributed as a composer library.
## Getting started
Just add the dependency to your composer project:
```shell
composer require madeorsk/forwarded
```
## How to use
### The easy way
Usually, you just want to get the Forwarded header from your current request (for example when using PHP-FPM), or even just the IP address of the origin of the request.
```php
<?php
use Madeorsk\Forwarded\Forwarded;
$forwarded = Forwarded::get(); // Getting the parsed Forwarded header.
$originIp = Forwarded::getOriginIp(); // Getting the IP address of the origin request from the parsed Forwarded header.
```
### If you need more control
If you cannot obtain the header content from the classic standard way, you can call directly the Forwarded header parse.
```php
<?php
use Madeorsk\Forwarded\Parser;
// Get a Forwarded parsed header from its raw string.
$forwarded = (new Parser())->parse("for=192.0.2.43,for=\"[2001:db8:cafe::17]\",for=unknown");
// Get the Forwarded header content parsed in a raw associative array from its raw string.
$forwardedAssoc = (new Parser())->parseAssoc("for=192.0.2.43,for=\"[2001:db8:cafe::17]\",for=unknown");
```