jsor / http-client-hints
Utilities for working with HTTP Client Hints.
v1.0.0
2018-09-05 06:55 UTC
Requires
- php: ^5.6 || ^7.0
Requires (Dev)
- phpunit/phpunit: ^5.7
This package is auto-updated.
Last update: 2024-10-07 00:19:55 UTC
README
Utilities for working with HTTP Client Hints.
Installation
Install the latest version with Composer.
composer require jsor/http-client-hints
Check the Packagist page for all available versions.
Example
$resolved = (new Jsor\HttpClientHints\Resolver()) ->withAllowedHeaders([ // Process only Width and DPR headers 'Width', 'DPR', ]) ->withMapping([ // Map Width header to w key 'width' => 'w', // Needed to extract the height from the query params // for recalculation depending on Width if present 'height' => 'h', ]) ->resolve($_SERVER, $_GET) ; if (isset($resolved['dpr'])) { header('Content-DPR: ' . $resolved['dpr']); header('Vary: DPR', false); } if (isset($resolved['w'])) { header('Vary: Width', false); } // Use $resolved to generate thumbnails. // If you use Glide (https://github.com/thephpleague/glide), this could look // something like: $server = League\Glide\ServerFactory::create([ 'source' => 'path/to/source/folder', 'cache' => 'path/to/cache/folder', ]); $server->outputImage($path, array_merge($_GET, $resolved));
License
Copyright (c) 2016-2018 Jan Sorgalla. Released under the MIT License.