X-Git-Url: https://git.rkrishnan.org/?a=blobdiff_plain;f=src%2FFuncTorrent%2FNetwork.hs;h=ca4b6d9f8fe6bd02aba6db0b88df38743304e6de;hb=a533e0ed9679e77a3e50eb1786dbe3017a4e9928;hp=eac69c9e32357f42023e0c6f702081039fb32c85;hpb=cfd4492b3eaaa60332ea25af64317d4d39fb511a;p=functorrent.git diff --git a/src/FuncTorrent/Network.hs b/src/FuncTorrent/Network.hs index eac69c9..ca4b6d9 100644 --- a/src/FuncTorrent/Network.hs +++ b/src/FuncTorrent/Network.hs @@ -1,8 +1,27 @@ +{- + - Copyright (C) 2015-2016 Ramakrishnan Muthukrishnan + - + - This file is part of FuncTorrent. + - + - FuncTorrent is free software; you can redistribute it and/or modify + - it under the terms of the GNU General Public License as published by + - the Free Software Foundation; either version 3 of the License, or + - (at your option) any later version. + - + - FuncTorrent is distributed in the hope that it will be useful, + - but WITHOUT ANY WARRANTY; without even the implied warranty of + - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + - GNU General Public License for more details. + - + - You should have received a copy of the GNU General Public License + - along with FuncTorrent; if not, see + -} + {-# LANGUAGE OverloadedStrings #-} + module FuncTorrent.Network - ( - get, - mkParams + (sendGetRequest + , mkParams ) where import Prelude hiding (concat) @@ -17,9 +36,10 @@ import Network.URI (parseURI) mkParams :: [(String, ByteString)] -> ByteString mkParams params = BC.intercalate "&" [concat [pack f, "=", s] | (f,s) <- params] -get :: String -> [(String, ByteString)] -> IO ByteString -get url args = simpleHTTP (defaultGETRequest_ url') >>= getResponseBody - where url' = case parseURI $ unpack $ concat [pack url, "?", qstr] of +sendGetRequest :: String -> [(String, ByteString)] -> IO ByteString +sendGetRequest url args = simpleHTTP (defaultGETRequest_ url') >>= getResponseBody + where url' = case parseURI url'' of Just x -> x - _ -> error "Bad tracker URL" + _ -> error $ "Bad tracker URL: " ++ (show url'') qstr = mkParams args + url'' = unpack $ concat [pack url, "?", qstr]