This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-04-14
Channels
- # beginners (53)
- # cider (10)
- # cljs-dev (23)
- # cljsrn (25)
- # clojure (68)
- # clojure-italy (4)
- # clojure-spec (25)
- # clojure-uk (7)
- # clojurebridge-ams (1)
- # clojurescript (10)
- # cursive (20)
- # datomic (21)
- # duct (4)
- # fulcro (1)
- # graphql (4)
- # hoplon (1)
- # java (7)
- # luminus (9)
- # off-topic (111)
- # om-next (2)
- # onyx (14)
- # re-frame (3)
- # reagent (9)
- # shadow-cljs (182)
- # test-check (32)
- # tools-deps (53)
- # uncomplicate (1)
- # vim (94)
- # yada (2)
(extend-protocol yada.body/MessageBody
clojure.data.xml.Element
(to-body [cdxe representation]
(clojure.data.xml/emit-str cdxe))
(content-length [out]
nil ;; let default logic get length of string body
))
(defn make-server []
(yada/listener
["/" (yada/resource
{:methods
{:get
{:produces #{"application/xml"}
:response
(fn [ctx]
#clojure.data.xml.Element{:tag :p,
:attrs {},
:content ["hello "
#clojure.data.xml.Element{:tag :b,
:attrs {},
:content ["world"]}]})}}})]
{:port 3000}))
;; curl -vv "" -H "Accept: application/xml"
;; > GET / HTTP/1.1
;; > Accept: application/xml
;; >
;; < HTTP/1.1 200 OK
;; < Content-Type: application/xml
;; < content-length: 63
;; <
;; <?xml version="1.0" encoding="UTF-8"?><p>hello <b>world</b></p>