xanweb / c5-http2-server-push
A middleware package for Concrete5 to use HTTP/2 pushes
v1.1
2020-02-19 16:57 UTC
Requires
- php: >=7.2
- fig/link-util: ^1.0
Requires (Dev)
- phpunit/phpunit: ^8.3
This package is auto-updated.
Last update: 2024-10-27 00:40:28 UTC
README
Middleware library for Concrete5 to use HTTP/2 pushes
Installation
Include library to your composer.json
composer require xanweb/c5-http2-server-push
Add the service provider and middleware to application/config/app.php
return [ 'providers' => [ 'xw_http2_server_push' => '\Xanweb\ServerPush\ServiceProvider' ], 'middleware' => [ 'xw_http2_server_push' => '\Xanweb\ServerPush\Middleware\Http2ServerPushMiddleware' ] ];
Make sure you are loading vendor autoload application/bootstrap/autoload.php
<?php defined('C5_EXECUTE') or die('Access Denied.'); /* * ---------------------------------------------------------------------------- * Load all composer autoload items. * ---------------------------------------------------------------------------- */ // If the checker class is already provided, likely we have been included in a separate composer project if (!class_exists(\DoctrineXml\Checker::class)) { // Otherwise, lets try to load composer ourselves if (!@include(DIR_BASE_CORE . '/' . DIRNAME_VENDOR . '/autoload.php')) { echo 'Third party libraries not installed. Make sure that composer has required libraries in the concrete/ directory.'; die(1); } } if (file_exists(DIR_BASE . '/' . DIRNAME_VENDOR . '/autoload.php')) { include_once (DIR_BASE . '/' . DIRNAME_VENDOR . '/autoload.php'); }
Usage
use \Fig\Link\Link; use \Fig\Link\Relations; // Example with Font Preload $link = (new Link(Relations::REL_PRELOAD, '/path/to/font.woff2')) ->withAttribute('as', 'font') ->withAttribute('type', 'font/woff2'); app('http2/server-push')->queueLink($link);