Class AssetMiddleware
Handles serving plugin assets in development mode.
This should not be used in production environments as it has sub-optimal performance when compared to serving files with a real webserver.
Properties summary
-
$cacheTime
protectedThe amount of time to cache the asset.string
-
$typeMap
protectedA extension to content type mapping for plain text types.array
Method Summary
- __construct() publicConstructor.
- __invoke() publicServe assets if the path matches one.
- _getAssetFile() protectedBuilds asset file path based off url
- deliverAsset() protectedSends an asset file to the client
- getType() protectedReturn the type from a File object
- isNotModified() protectedCheck the not modified header.
Method Detail
__construct()source public
__construct( array $options [] )
Constructor.
Parameters
- array
$options
optional [] - The options to use
__invoke()source public
__invoke( Psr\Http\Message\ServerRequestInterface $request , Psr\Http\Message\ResponseInterface $response , callable $next )
Serve assets if the path matches one.
Parameters
- Psr\Http\Message\ServerRequestInterface
$request
- The request.
- Psr\Http\Message\ResponseInterface
$response
- The response.
- callable
$next
- Callback to invoke the next middleware.
Returns
Psr\Http\Message\ResponseInterfaceA response
_getAssetFile()source protected
_getAssetFile( string $url )
Builds asset file path based off url
Parameters
- string
$url
- Asset URL
Returns
stringAbsolute path for asset file
deliverAsset()source protected
deliverAsset( Psr\Http\Message\ServerRequestInterface $request , Psr\Http\Message\ResponseInterface $response , Cake\Filesystem\File $file )
Sends an asset file to the client
Parameters
- Psr\Http\Message\ServerRequestInterface
$request
- The request object to use.
- Psr\Http\Message\ResponseInterface
$response
- The response object to use.
-
Cake\Filesystem\File
$file
- The file wrapper for the file.
Returns
Psr\Http\Message\ResponseInterfaceThe response with the file & headers.
getType()source protected
getType( Cake\Filesystem\File $file )
Return the type from a File object
Parameters
-
Cake\Filesystem\File
$file
- The file from which you get the type
Returns
stringisNotModified()source protected
isNotModified( Psr\Http\Message\ServerRequestInterface $request , Cake\Filesystem\File $file )
Check the not modified header.
Parameters
- Psr\Http\Message\ServerRequestInterface
$request
- The request to check.
-
Cake\Filesystem\File
$file
- The file object to compare.
Returns
booleanProperties detail
$typeMapsource
protected array
A extension to content type mapping for plain text types.
Because finfo doesn't give useful information for plain text types, we have to handle that here.
[ 'css' => 'text/css', 'json' => 'application/json', 'js' => 'application/javascript', 'ico' => 'image/x-icon', 'eot' => 'application/vnd.ms-fontobject', 'svg' => 'image/svg+xml', 'html' => 'text/html', 'rss' => 'application/rss+xml', 'xml' => 'application/xml', ]
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.4/class-Cake.Routing.Middleware.AssetMiddleware.html