Невозможно установить повара ie в кольце замыкания - PullRequest
0 голосов
/ 29 марта 2020

Я посылаю следующий ответ в кольце clojure:

(res/set-cookie
         (res/redirect (env :some-url))
         "some-id"
         (->
          req
          foo-ns/bar
          :id
          )
         {:max-age (* 30 24 60 60 1000) :path "/"})

И при печати этого ответа я получаю:

{:status 302, :headers {"Location" "http://localhost:5000"}, :body "", :cookies {"some-id" {:value "1341313515135490454", :max-age 2592000000, :path "/"}}}

Но на стороне клиента повар готовит ie не установлен, что я вижу в консоли. Что я делаю не так?

1 Ответ

1 голос
/ 29 марта 2020

Похоже, вы используете ring.response/set-cookie, чтобы установить повара ie. Это установит атрибуты cook ie в :cookies на вашей карте ответов. Перед возвратом ответа в браузер вам необходимо закодировать эти куки в заголовок Set-Cookie, который браузер может понять. Для этого добавьте промежуточное ПО ring.middleware.cookies/wrap-cookies в свой стек промежуточного ПО.

Вы должны ожидать, что ваш ответ будет выглядеть примерно так:

{:status 302
 :body ""
 :headers {"Location" "http://localhost:5000"
           "Set-Cookie" "some-id=1341313515135490454; max-age=2592000000; path=/"}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...