title: How to get streaming tweets using twitter-api in clojure?
body: <p>I am new to clojure. I am trying to get the streaming tweets through clojure. I'm using twitter-api library to get the streaming tweets and the code snippet is the following.</p>
  
  <pre><code>(ns hello-twitter
    (:use
     [twitter.oauth]
     [twitter.callbacks]
     [twitter.callbacks.handlers]
     [twitter.api.streaming])
    (:require
     [clojure.data.json :as json]
     [http.async.client :as ac])
    (:import
     (twitter.callbacks.protocols AsyncStreamingCallback)))
  
  (def my-creds (make-oauth-creds "app consumer key"
                                  "app consumer secret"
                                  "user-access-token"
                                  "user-access-token-secret"))
  
  (def ^:dynamic
    *custom-streaming-callback*
       (AsyncStreamingCallback. (comp println #(:text %) json/read-json #(str %2))
                        (comp println response-return-everything)
                    exception-print))
  
  (statuses-filter :params {:track "Cricket"}
           :oauth-creds my-creds
           :callbacks *custom-streaming-callback*)
  </code></pre>
  
  <p>The :body part in returned json is supposed to be continually updated. I am getting value of :body is like <code>&lt;core$promise$reify__6363@32cdfb83: :pending&gt;</code> and I am unable to figure out how to get the tweets. </p>
  
  <p>How to establish the uninterrupted connection to get the streaming tweets as output?</p>