Промежуточное программное обеспечение CORS автоматически обрабатывает предварительные данные - вам не нужно отдельное промежуточное программное обеспечение для него, и вам не нужно создавать свои собственные заголовки и т. Д.
У вас есть оно, обертывающее routes
, что правильно- поэтому сначала выполняется CORS-проверка, а затем маршрутизация.Вы должны удалить ваше пользовательское промежуточное ПО для предварительной проверки, и оно должно работать в этот момент.
Мы используем wrap-cors
на работе, и единственное осложнение, с которым мы столкнулись, - это предоставление достаточного количества заголовков (некоторые вставляются производственной инфраструктурой, например, балансировщиками нагрузки),Мы закончили с этим:
:access-control-allow-headers #{"accept"
"accept-encoding"
"accept-language"
"authorization"
"content-type"
"origin"}
Для чего это стоит, вот что у нас есть для методов:
:access-control-allow-methods [:delete :get
:patch :post :put]
(вам не нужно :options
там)