Download the PHP package middlewares/negotiation without Composer
On this page you can find all versions of the php package middlewares/negotiation. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download middlewares/negotiation
More information about middlewares/negotiation
Files in middlewares/negotiation
Package negotiation
Short Description Middleware to implement content negotiation
License MIT
Homepage https://github.com/middlewares/negotiation
Informations about the package negotiation
middlewares/negotiation
Middleware using wildurand/Negotiation to implement content negotiation. Contains the following components:
- ContentType
- ContentLanguage
- ContentEncoding
Requirements
- PHP >= 7.2
- A PSR-7 http library
- A PSR-15 middleware dispatcher
Installation
This package is installable and autoloadable via Composer as middlewares/negotiation.
Example
ContentType
To detect the preferred mime type using the Accept header and the file extension and edit the header with this value. A Content-Type header is also added to the response if it's missing.
Define the formats to negotiate sorted by priority in the first argument. By default uses these
errorResponse
If no format matches the negotiation, by default the middleware use the first value in the list of available formats (by default text/html). Use this option to return a 406 error. Optionally, you can provide a Psr\Http\Message\ResponseFactoryInterface that will be used to create the response. If it's not defined, Middleware\Utils\Factory will be used to detect it automatically.
charsets
The available charsets to negotiate with the Accept-Charset header. By default is UTF-8.
noSniff
Adds the X-Content-Type-Options: nosniff header, to mitigating MIME confusión attacks.. Enabled by default.
attribute
To store the format name (json, html, css etc) in an attribute of the ServerRequest.
ContentLanguage
To detect the preferred language using the Accept-Language header or the path prefix and edit the header with this value. A Content-Language header is also added to the response if it's missing.
The first argument is an array with the available languages to negotiate sorted by priority. The first value will be used as default if no other languages is choosen in the negotiation.
usePath
By enabling this option, the base path will be used to detect the language. This is useful if you have different paths for each language, for example /gl/foo and /en/foo.
Note: the language in the path has preference over the Accept-Language header.
redirect
Used to return a 302 responses redirecting to the path containing the language. This only works if usePath is enabled, so for example, if the request uri is /welcome, returns a redirection to /en/welcome.
ContentEncoding
To detect the preferred encoding type using the Accept-Encoding header and edit the header with this value.
Please see CONTRIBUTING for contributing details.
The MIT License (MIT). Please see LICENSE for more information.
All versions of negotiation with dependencies
willdurand/negotiation Version ^3.0
middlewares/utils Version ^2 || ^3 || ^4
psr/http-server-middleware Version ^1