Skip to content
Daehyun Kim edited this page Dec 20, 2015 · 1 revision

Ring 핸들러에서 쿠키를 지원하려면, wrap-cookies 미들웨어로 감싸자.

(use 'ring.middleware.cookies)
(def app
  (wrap-cookies your-handler))

이렇게 하면 요청 맵에 :cookies 키가 추가되고, 아래와 같은 쿠키 맵이 포함된다:

{"session_id" {:value "session-id-hash"}}

쿠키를 발급하려면, 응답 맵에 :cookies 키를 추가한다:

{:status 200
 :headers {}
 :cookies {"session_id" {:value "session-id-hash"}}
 :body "Setting a cookie."}

쿠키 값 말고도, 이하 추가 속성을 지정할 수 있다:

  • :domain - 쿠키를 특정 도메인에 제한한다
  • :path - 쿠키를 특정 경로에 한정한다
  • :secure - true로 하면 쿠키를 HTTPS URL에만 쓴다
  • :http-only - true로 하면 HTTP 요청에만 쿠키를 쓴다. (자바스크립트에서는 접근할 수 없다.)
  • :max-age - 쿠키의 유효 시간(단위: 초)
  • :expires - 쿠키의 만료 일시

예로, 한 시간 동안 유효한 안전한 쿠키를 발급하려면, 아래와 같이 한다:

{"secret" {:value "foobar", :secure true, :max-age 3600}}
Clone this wiki locally