                              error-code)
 
                            :else :unknown)]
+          (log/info (name source) "requesting close of websocket:" close-code close-message)
           (async/>! request-close-promise-chan [source close-code return-code-or-exception close-message]))))))
 
 (defn- close-client-session!

(defn- successful?
  "Returns whether the status represents a successful status code."
  [status]
  (= 1000 status))

(defn process-response!
  "Processes a response resulting from a websocket request.

                    (au/timed-offer! upload-chan send-data streaming-timeout-ms))
                (recur (+ bytes-streamed bytes-read))
                (do
                  (log/error "unable to stream to" dest-name {:cid (cid/get-correlation-id), :bytes-streamed bytes-streamed})
                  (meters/mark! stream-back-pressure-meter)
                  (deliver reservation-status-promise stream-error-type)
                  (async/>! request-close-chan stream-error-type))))
