




Да!
Политика CORS устанавливается с использованием заголовков HTTP в ответе. На веб-сервере Racket, как вы знаете, значения ответа HTTP являются экземплярами структуры отклик, которую вы обычно создаете с помощью функции более высокого уровня, такой как response/xexpr или response/output. Какие именно заголовки вы хотите установить, зависит от вашего приложения, но вот простой пример:
(response/output
#:mime-type #"text/javascript"
#:headers (list (header #"Access-Control-Allow-Origin" #"*"))
(λ (out)
(write-bytes #"console.info('Hi, world!')\n" out)))
В реальном веб-приложении вы, вероятно, захотите сгенерировать более одного ответа с одинаковыми заголовками. Я обычно делаю некоторые функции-оболочки для response/output, response/xexpr и т. д., Чтобы добавить логику, специфичную для моего приложения. Если вы обслуживаете кучу статических файлов, которым нужны заголовки CORS, вы можете использовать модуль веб-сервер / диспетчеры / диспетчерские файлы.