web/response: create and set cookie, using web/cookie package based on cl-cookie
This commit is contained in:
parent
4d9328104f
commit
f6a361f4b8
4 changed files with 31 additions and 8 deletions
|
@ -11,10 +11,12 @@
|
|||
:scopes-core)
|
||||
:components ((:file "frontend/cs-hx" :depends-on ("web/dom" "web/response"))
|
||||
(:file "web/client")
|
||||
(:file "web/cookie")
|
||||
(:file "web/dom")
|
||||
(:file "web/jwt")
|
||||
(:file "web/response" :depends-on ("web/dom"))
|
||||
(:file "web/server" :depends-on ("web/jwt" "web/response")))
|
||||
(:file "web/response" :depends-on ("web/cookie" "web/dom"))
|
||||
(:file "web/server"
|
||||
:depends-on ("web/cookie" "web/jwt" "web/response")))
|
||||
:long-description "scopes/web: Web server and web/API/REST client."
|
||||
:in-order-to ((test-op (test-op "scopes-web/test"))))
|
||||
|
||||
|
|
|
@ -69,8 +69,10 @@
|
|||
(deftest test-message (client)
|
||||
(let ((msg (message:create '(:test :data :field :info) :data '(:info "test data"))))
|
||||
(== (client:send-message client msg)
|
||||
"<div><div><label>info</label>: test data</div></div>"))
|
||||
;"<dl><dt>info</dt><dd>test data</dd></dl>")))
|
||||
(let ((msg (message:create '(:test :cookie) :data '(:name "mycookie"))))
|
||||
(client:send-message client msg))
|
||||
"<div><div><label>info</label>: test data</div></div>")) ; cs-hx:response
|
||||
;"<dl><dt>info</dt><dd>test data</dd></dl>"))) ; default response
|
||||
(let ((msg (message:create '(:test :cookie)
|
||||
:data '(:name "mycookie" :value "my_value"))))
|
||||
(client:send-message client msg)
|
||||
(util:lgi client::*cookie-jar*))
|
||||
)
|
||||
|
|
16
web/cookie.lisp
Normal file
16
web/cookie.lisp
Normal file
|
@ -0,0 +1,16 @@
|
|||
;;;; cl-scopes/web/cookie - interface to cl-cookie for simplified access
|
||||
|
||||
(defpackage :scopes/web/cookie
|
||||
(:use :common-lisp)
|
||||
(:local-nicknames (:c cl-cookie))
|
||||
(:export #:create #:make-header))
|
||||
|
||||
(in-package :scopes/web/cookie)
|
||||
|
||||
(defun create (name value &key max-age (path "/") (httponly-p t))
|
||||
(c:make-cookie :name name :value value
|
||||
:path path :httponly-p httponly-p
|
||||
:max-age max-age))
|
||||
|
||||
(defun make-header (cookie)
|
||||
(c:write-set-cookie-header cookie))
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
(defpackage :scopes/web/response
|
||||
(:use :common-lisp)
|
||||
(:local-nicknames (:core :scopes/core)
|
||||
(:local-nicknames (:cookie :scopes/web/cookie)
|
||||
(:core :scopes/core)
|
||||
(:dom :scopes/web/dom)
|
||||
(:message :scopes/core/message)
|
||||
(:shape :scopes/shape)
|
||||
|
@ -37,7 +38,9 @@
|
|||
(shape:print-fields ia s 'messages))
|
||||
|
||||
(defun render-cookie (cdata)
|
||||
"DEMO=1234567_value; Path=/") ;"; Domain=testing.cyberscopes.org")
|
||||
(let ((cookie (cookie:create (getf cdata :name) (getf cdata :value))))
|
||||
(cookie:make-header cookie)))
|
||||
;"DEMO=1234567_value; Path=/") ;"; Domain=testing.cyberscopes.org")
|
||||
|
||||
;;;; response definitions
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue