我建立一個event collector in Clojure用於Snowplow(使用環/的Compojure)和時遇到服務與環透明像素一些麻煩。這是我送的像素代碼:間歇錯誤服務的二進制文件使用Clojure /振鈴
(ns snowplow.clojure-collector.responses
(:import (org.apache.commons.codec.binary Base64)
(java.io ByteArrayInputStream)))
(def pixel-bytes (Base64/decodeBase64 (.getBytes "R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")))
(def pixel (ByteArrayInputStream. pixel-bytes))
(defn send-pixel
[]
{:status 200
:headers {"Content-Type" "image/gif"}
:body pixel})
當我開始了我的服務器,我第一次打的路徑send-pixel
,像素被成功地傳遞到我的瀏覽器。但在第二時間 - 並隨後每次 - 環不發送體(和內容長度0)。重新啓動服務器,它是相同的模式。
有幾件事情是不是:
- 我複製了這一點使用
wget
,確認間歇岬是不是一個瀏覽器緩存的問題 - 我產生在命令行的
"R01GOD..."
的base64字符串(cat original.gif | base64
),所以知道有沒有問題,有 - 像素時的發送成功,我已經驗證了它的內容是正確的(
diff original.gif received-pixel.gif
)
我是新來的Clojure - 我的猜測是有一個在我的代碼中的一些尷尬的動態小鬼,但我需要幫助點滴吧!