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
protectedstring
The amount of time to cache the asset. -
$typeMap
protectedarray
A extension to content type mapping for plain text types.
Method Summary
-
__construct() public
Constructor. -
__invoke() public
Serve assets if the path matches one. -
_getAssetFile() protected
Builds asset file path based off url -
deliverAsset() protected
Sends an asset file to the client -
getType() protected
Return the type from a File object -
isNotModified() protected
Check the not modified header.
Method Detail
__construct() public ¶
__construct( array $options [] )
Constructor.
Parameters
- array $options optional []
- The options to use
__invoke() 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
A response
_getAssetFile() protected ¶
_getAssetFile( string $url )
Builds asset file path based off url
Parameters
- string $url
- Asset URL
Returns
Absolute path for asset file, null on failure
deliverAsset() 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
The response with the file & headers.
getType() 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
isNotModified() 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
Properties detail
$typeMap ¶
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', ]