X-Git-Url: https://git.rkrishnan.org/?a=blobdiff_plain;f=src%2FTracker.hs;h=6c558e5798e6df86358a790398bc1f78d15f939a;hb=b601c68ab17e5d8bd908f30f624fb385a1a67d2f;hp=09d55293718e67be1d4bf4f3d616a31c5b627d85;hpb=5bce708860df78c8e3ef78385e3ff5fa0e568680;p=functorrent.git diff --git a/src/Tracker.hs b/src/Tracker.hs index 09d5529..6c558e5 100644 --- a/src/Tracker.hs +++ b/src/Tracker.hs @@ -7,9 +7,11 @@ import Crypto.Hash.SHA1 (hash) import Data.ByteString.Char8 (ByteString, pack, unpack) import Data.Char (chr) import Data.List (intercalate) +import Data.Maybe (fromJust) import Data.Map as M (Map, (!)) -import Network.HTTP (simpleHTTP, getRequest, getResponseBody) +import Network.HTTP (simpleHTTP, defaultGETRequest_, getResponseBody) import Network.HTTP.Base (urlEncode) +import Network.URI (parseURI) import Utils (splitN) import qualified Data.ByteString.Base16 as B16 (encode) @@ -45,7 +47,6 @@ prepareRequest d peer_id len = ("event", "started")] in intercalate "&" [f ++ "=" ++ s | (f,s) <- p] -connect :: Url -> String -> IO String -connect baseurl qstr = let url = baseurl ++ "?" ++ qstr - in simpleHTTP (getRequest url) >>= - getResponseBody +connect :: Url -> String -> IO ByteString +connect baseurl qstr = simpleHTTP (defaultGETRequest_ url) >>= getResponseBody + where url = fromJust . parseURI $ (baseurl ++ "?" ++ qstr)