js-trie-router-cors
Языки
- JavaScript100%
@e22m4u/js-trie-router-cors
Модуль поддержки CORS для @e22m4u/js-trie-router
Содержание
Установка
Модуль поддерживает ESM и CommonJS стандарты.
ESM
CommonJS
Использование
Подключение модуля к маршрутизатору выполняется через внедрение зависимости. Сервис регистрируется с передачей объекта настроек.
Настройки
Модуль позволяет определить объект настроек со следующими свойствами. Каждое свойство отвечает за отдельный аспект работы модуля.
origin
Тип:
По умолчанию:
Опция управляет проверкой источника. Возможные варианты значений представлены ниже.
- отключает отправку CORS заголовков (по умолчанию);false- разрешает все источники (отражает источник запроса);true- разрешает любые источники запросов (для публичного API);*- указывает точный адрес источника;http://example.comрегулярное выражение для проверки адреса;/example\.com$/массив допустимых адресов или регулярных выражений;[...]функция для проверки адреса;(origin) => true
Допускается указание конкретных источников через запятую.
Значения и разрешают доступ любым адресам. Разница заключается
в формировании заголовков ответа сервера.
origin: '*'
При передаче символа звездочки сервер отправляет разрешающий заголовок
со значением . Разрешающий заголовок добавляется ко всем ответам,
даже в рамках одного домена. Наличие информации об источнике во входящем
запросе не проверяется. Данный режим рекомендуется для публичных API,
не использующих авторизацию.
Access-Control-Allow-Origin: *
origin: true
Значение включает режим отражения. Маршрутизатор читает адрес
источника из заголовка и возвращает его точное значение в ответе
сервера. Дополнительно устанавливается заголовок . Если входящий
запрос не имеет информации об источнике (не кросс-доменный запрос),
то установка CORS заголовков пропускается.
Access-Control-Allow-Origin: http://example.com
Vary: Origin
origin: '*' и credentials: true
Наличие флага передачи данных авторизации изменяет поведение символа
звездочки. Спецификация запрещает совмещать данный флаг и разрешающий
символ . При таком сочетании маршрутизатор автоматически переключается
в режим отражения адреса источника.
Access-Control-Allow-Origin: http://example.com
Access-Control-Allow-Credentials: true
methods
Тип:
По умолчанию:
Опция задает разрешенные методы. Значение по умолчанию включает базовые методы протокола. Допускается передача строки или массива.
allowedHeaders
Тип:
По умолчанию:
Опция задает разрешенные заголовки. По умолчанию модуль применяет принцип зеркала. Разрешаются только запрошенные клиентом заголовки.
exposedHeaders
Тип:
По умолчанию:
Опция определяет заголовки для чтения на стороне клиента. Значением может быть строка или массив строк.
credentials
Тип:
По умолчанию:
Опция управляет передачей данных авторизации. Установка значения
добавляет разрешающий заголовок в ответ сервера.
maxAge
Тип:
По умолчанию:
Опция указывает время жизни предварительного запроса. Срок действия передается в секундах.
Тесты
Лицензия
MIT