summaryrefslogtreecommitdiff
path: root/src/org/gnu/clojure/gnunet/iostream.clj
blob: b4cb0664b5ce8ee430425a19261520102db641e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(ns org.gnu.clojure.gnunet.iostream
  (:import java.net.URL))

(defn reader
  "Converts a java.io.InputStream into a lazy seq of bytes."
  [in]
  (lazy-seq (let [c (.read in)] (when (>= c 0) (cons (byte c) (reader in))))))

(defn read-url
  "Open a URL and return a seq of its data."
  [url]
  (try
    (reader (.openStream (URL. url)))
    (catch Exception e nil)))