+{-
+ - Copyright (C) 2015-2016 Ramakrishnan Muthukrishnan <ram@rkrishnan.org>
+ -
+ - 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 <http://www.gnu.org/licenses/>
+ -}
+
{-# LANGUAGE OverloadedStrings #-}
+
module FuncTorrent.Network
- (
- httpget,
- mkParams
+ (sendGetRequest
+ , mkParams
) where
import Prelude hiding (concat)
mkParams :: [(String, ByteString)] -> ByteString
mkParams params = BC.intercalate "&" [concat [pack f, "=", s] | (f,s) <- params]
-httpget :: String -> [(String, ByteString)] -> IO ByteString
-httpget 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]