2015-04-23 33 views
0

當我使用郵遞員我的處理程序可以得到cookie沒有問題,我只是將其添加到我的標題,現在我正在寫我的測試和使用clj-http將請求發送到我的休息服務器,首先我嘗試用手工做出來,加上我的cookie在頭我可以通過一個cookie在我的http post與clj-http

(:status (http/post "http://localhost:8080/create/article" 
        {:throw-exceptions false} 
        {:body   "...." 
        :headers  {"Cookie" "uid-session=12"} 
        :content-type "application/json"})) 

,也是我嘗試使用cookie的財產

(is (= 200 (:status (http/post "http://localhost:8080/create/article" 
           {:throw-exceptions false} 
           {:cookies  {"uid-session" {:value "12"}} 
           :body   " ... " 
           :content-type "application/json"})))) 

調試我的應用我的處理程序沒有按沒有收到任何cookie,可能是什麼原因?...謝謝

+0

在格式化代碼以使其更易於閱讀時,您應該更加小心。你有空白的行無理由和一個光禿禿的}})))''。 –

回答

1

問題是您錯誤地調用http/post:您傳遞了兩組不同的請求選項,但它忽略除第一個之外的所有請求選項,即{:throw-exceptions false}

(我認爲這是一個錯誤CLJ-HTTP,它在這種情況下表現如此幫倒忙,通過不發出錯誤信號。也許有人應該open an issue ...)

如果你做到這一點就可以了(在至少它對我來說):

(http/post 
    "http://localhost:8080/create/article" 
    {:throw-exceptions false 
    :body "...." 
    :headers {"Cookie" "uid-session=12"} 
    :content-type "application/json"}) 
相關問題