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;
}
}