        (sequence (comp
                   (map (fn [dsp] {:dsp dsp :response (http/post (:url dsp) (json-request-option req))}))
                   (map destruct)
-                  (map validate)
+                  (map #(validate (:id req) %))
                   (map #(log-validated test %))
                   (filter succeed?)
                   (map (fn [{dsp :dsp res :response}] {:dsp dsp :response res}))


(defn over-floor? [floor-price {res :response}]
  (if floor-price
    (<= floor-price (:bidPrice res))
    true))

(defn auction [floor-price resps]

  (let [{:keys [status body]} @res]
    {:dsp dsp :status status :body body}))

(defn validate [request-id {dsp :dsp status :status body :body}]
  ;; TODO: validate id identity
  (try
   (let [body (and body (json/parse-string body true))
