Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; ignore-execptions
- (defn async-gets [urls]
- (doall (map #(future (client/get % {:oauth-token (:access_token @access-token)
- :ignore-exceptions true}))
- urls)))
- ; this returns exception
- (let [gets (async-gets (take 10 url-list-from-symbols))
- fail? (fn [req-fut] (instance? java.util.concurrent.ExecutionException
- (try @req-fut (catch Exception e (.getCause e)))))]
- (map deref gets))
- ; Exception:
- java.util.concurrent.ExecutionException: clojure.lang.ExceptionInfo: clj-http: status 401 {:object {:orig-content-encoding nil, :trace-redirects ["https://api.tradestation.com/v2/data/quote/STON"], :request-time 801, :status 401, :headers {"x-servername" "NY04VWEBAPI45", "access-control-allow-origin" "*", "server" "Microsoft-IIS/7.5", "content-type" "application/json", "date" "Fri, 28 Feb 2014 17:21:40 GMT", "cache-control" "private", "content-length" "56", "connection" "close", "x-aspnet-version" "4.0.30319"}, :body "{\"Message\":\"Access token has expired.\",\"StatusCode\":401}"}, :environment {client #<client$wrap_output_coercion$fn__7693 clj_http.client$wrap_output_coercion$fn__7693@6a77deb5>, req {:request-method :get, :url "https://api.tradestation.com/v2/data/quote/STON", :oauth-token "mytoken", :ignore-exceptions true}, map__7578 {:orig-content-encoding nil, :trace-redirects ["https://api.tradestation.com/v2/data/quote/STON"], :request-time 801, :status 401, :headers {"x-servername" "NY04VWEBAPI45", "access-control-allow-origin" "*", "server" "Microsoft-IIS/7.5", "content-type" "application/json", "date" "Fri, 28 Feb 2014 17:21:40 GMT", "cache-control" "private", "content-length" "56", "connection" "close", "x-aspnet-version" "4.0.30319"}, :body "{\"Message\":\"Access token has expired.\",\"StatusCode\":401}"}, resp {:orig-content-encoding nil, :trace-redirects ["https://api.tradestation.com/v2/data/quote/STON"], :request-time 801, :status 401, :headers {"x-servername" "NY04VWEBAPI45", "access-control-allow-origin" "*", "server" "Microsoft-IIS/7.5", "content-type" "application/json", "date" "Fri, 28 Feb 2014 17:21:40 GMT", "cache-control" "private", "content-length" "56", "connection" "close", "x-aspnet-version" "4.0.30319"}, :body "{\"Message\":\"Access token has expired.\",\"StatusCode\":401}"}, status 401}}
- FutureTask.java:122 java.util.concurrent.FutureTask.report
- FutureTask.java:188 java.util.concurrent.FutureTask.get
- core.clj:2108 clojure.core/deref-future
- core.clj:6308 clojure.core/future-call[fn]
- core.clj:2128 clojure.core/deref
- core.clj:2487 clojure.core/map[fn]
- LazySeq.java:42 clojure.lang.LazySeq.sval
- LazySeq.java:60 clojure.lang.LazySeq.seq
- RT.java:484 clojure.lang.RT.seq
- core.clj:133 clojure.core/seq
- core_print.clj:46 clojure.core/print-sequential
- core_print.clj:143 clojure.core/fn
- MultiFn.java:231 clojure.lang.MultiFn.invoke
- core.clj:3322 clojure.core/pr-on
- core.clj:3334 clojure.core/pr
- AFn.java:161 clojure.lang.AFn.applyToHelper
- RestFn.java:132 clojure.lang.RestFn.applyTo
- core.clj:617 clojure.core/apply
- core.clj:4297 clojure.core/pr-str
- RestFn.java:408 clojure.lang.RestFn.invoke
- eval.clj:69 lighttable.nrepl.eval/clean-serialize
- RestFn.java:423 clojure.lang.RestFn.invoke
- eval.clj:82 lighttable.nrepl.eval/->result
- AFn.java:163 clojure.lang.AFn.applyToHelper
- AFn.java:151 clojure.lang.AFn.applyTo
- core.clj:619 clojure.core/apply
- core.clj:2396 clojure.core/partial[fn]
- RestFn.java:408 clojure.lang.RestFn.invoke
- core.clj:2485 clojure.core/map[fn]
- LazySeq.java:42 clojure.lang.LazySeq.sval
- LazySeq.java:60 clojure.lang.LazySeq.seq
- RT.java:484 clojure.lang.RT.seq
- core.clj:133 clojure.core/seq
- core.clj:2523 clojure.core/filter[fn]
- LazySeq.java:42 clojure.lang.LazySeq.sval
- LazySeq.java:60 clojure.lang.LazySeq.seq
- RT.java:484 clojure.lang.RT.seq
- core.clj:133 clojure.core/seq
- core.clj:2780 clojure.core/dorun
- core.clj:2796 clojure.core/doall
- eval.clj:125 lighttable.nrepl.eval/eval-clj
- RestFn.java:442 clojure.lang.RestFn.invoke
- eval.clj:191 lighttable.nrepl.eval/eval2467[fn]
- AFn.java:159 clojure.lang.AFn.applyToHelper
- AFn.java:151 clojure.lang.AFn.applyTo
- core.clj:617 clojure.core/apply
- core.clj:1788 clojure.core/with-bindings*
- RestFn.java:425 clojure.lang.RestFn.invoke
- eval.clj:176 lighttable.nrepl.eval/eval2467[fn]
- eval.clj:175 lighttable.nrepl.eval/eval2467[fn]
- MultiFn.java:227 clojure.lang.MultiFn.invoke
- core.clj:92 lighttable.nrepl.core/queued[fn]
- core.clj:2330 clojure.core/comp[fn]
- interruptible_eval.clj:138 clojure.tools.nrepl.middleware.interruptible-eval/run-next[fn]
- AFn.java:24 clojure.lang.AFn.run
- ThreadPoolExecutor.java:1145 java.util.concurrent.ThreadPoolExecutor.runWorker
- ThreadPoolExecutor.java:615 java.util.concurrent.ThreadPoolExecutor$Worker.run
- Thread.java:744 java.lang.Thread.run
- Caused by: clojure.lang.ExceptionInfo: clj-http: status 401
- client.clj:154 clj-http.client/wrap-exceptions[fn]
- client.clj:487 clj-http.client/wrap-accept[fn]
- client.clj:501 clj-http.client/wrap-accept-encoding[fn]
- client.clj:477 clj-http.client/wrap-content-type[fn]
- client.clj:592 clj-http.client/wrap-form-params[fn]
- client.clj:616 clj-http.client/wrap-nested-params[fn]
- client.clj:575 clj-http.client/wrap-method[fn]
- cookies.clj:121 clj-http.cookies/wrap-cookies[fn]
- links.clj:50 clj-http.links/wrap-links[fn]
- client.clj:635 clj-http.client/wrap-unknown-host[fn]
- client.clj:742 clj-http.client/get
- RestFn.java:423 clojure.lang.RestFn.invoke
- /Users/jjelinek/Documents/repos/sample-webapi-clojure/src/sample_webapi_clojure/core.clj:145 sample-webapi-clojure.core/async-gets[fn]
- core.clj:1836 clojure.core/binding-conveyor-fn[fn]
- AFn.java:18 clojure.lang.AFn.call
- FutureTask.java:262 java.util.concurrent.FutureTask.run
- ; ignore-exceptions?
- (defn async-gets [urls]
- (doall (map #(future (client/get % {:oauth-token (:access_token @access-token)
- :ignore-exceptions? true}))
- urls)))
- ; this returns exception
- (let [gets (async-gets (take 10 url-list-from-symbols))
- fail? (fn [req-fut] (instance? java.util.concurrent.ExecutionException
- (try @req-fut (catch Exception e (.getCause e)))))]
- (map deref gets))
- ; this returns (false false false false false false false false false false)
- (let [gets (async-gets (take 10 url-list-from-symbols))
- fail? (fn [req-fut] (instance? java.util.concurrent.ExecutionException
- (try @req-fut (catch Exception e (.getCause e)))))]
- (map fail? gets))
Advertisement
Add Comment
Please, Sign In to add comment