INTERNAL
composer.json:
"repositories": [
{
"type": "git",
"url": "https://github.com/proklung/custom.request.responser.bundle"
}
]
composer require proklung/custom-request-responser-bundle
По адресу local/packages/custom_request_responser.yaml
(или /config/packages/custom_request_responser.yaml
для Wordpress).
custom_request_responser:
defaults:
enabled: true
# True - middleware запрещено, false - нет.
# По умолчанию false.
middlewares_disabled:
custom_request_responser.middleware.inline_css: true
custom_request_responser.middleware.dns_prefetch: true
custom_request_responser.middleware.remove_comments: true
custom_request_responser.middleware.collapse_whitespace: true
custom_request_responser.middleware.remove_quotes: true
custom_request_responser.middleware.elide_attributes: true
# Middleware, запускаемые на контент Битрикса.
# True - middleware запрещено, false - нет.
# По умолчанию false.
bitrix_middlewares_disabled:
custom_request_responser.middleware.inline_css: false
custom_request_responser.middleware.dns_prefetch: false
custom_request_responser.middleware.remove_comments: false
custom_request_responser.middleware.collapse_whitespace: false
custom_request_responser.middleware.remove_quotes: false
custom_request_responser.middleware.elide_attributes: false
headers:
# Apply a CSP on all the responses
- Content-Security-Policy: default-src 'self'
- name: Cache-Control
value: max-age=31536000, public
condition: response.headers.get('Content-Type') matches '/^html/'
custom_request_responser.logger_response
- логгирование Request & Responsecustom_request_responser.robots
- управление индексацией роутаcustom_request_responser.compress_response
- минификация Response для типа txt/htmlcustom_request_responser.set.headers
custom_request_responser.middleware.dns_prefetch
- injects tags in the HEAD to enable the browser to do DNS prefetchingcustom_request_responser.middleware.remove_comments
- eliminates HTML, JS and CSS commentscustom_request_responser.middleware.collapse_whitespace
- reduces bytes transmitted in an HTML file by removing unnecessary whitespacecustom_request_responser.middleware.remove_quotes
- eliminates unnecessary quotation marks from HTML attributescustom_request_responser.middleware.elide_attributes
- removing attributes from tags when the specified value is equal to the default valuecustom_request_responser.middleware.inline_css
- transforms the inline "style" attribute of tags into classes by moving the CSS to the header
Помечаются тэгом response.middleware
и должны наследоваться от AbstractPageSpeed
.
use Prokl\CustomRequestResponserBundle\Services\Contracts\IndexRouteManagerInterface;
use Symfony\Component\HttpFoundation\Request;
class AdminRouteProcessor implements IndexRouteManagerInterface
{
/**
* @inheritDoc
*/
public function shouldIndex(Request $request): bool
{
$url = $request->getPathInfo();
// Не индексировать страницы, в url которых встречается /api/.
if (stripos($url, '/api/') !== false) {
return false;
}
return true;
}
}