]> git.rkrishnan.org Git - functorrent.git/blobdiff - src/Main.hs
refactoring
[functorrent.git] / src / Main.hs
index f08c29532715dbe91e44de3f4ea6259298807d8a..f5a0a50318be8799ed69a9567e12c0b32bcaa1d4 100644 (file)
@@ -5,11 +5,11 @@ import qualified Data.ByteString.Char8 as BC
 import qualified Bencode as Benc
 import qualified Metainfo as MInfo
 import qualified Tracker as T
+import qualified Text.ParserCombinators.Parsec as Parsec
+import Data.Functor
 
-import Text.ParserCombinators.Parsec
-
-printError :: ParseError -> IO ()
-printError e = putStrLn "parse error"
+printError :: Parsec.ParseError -> IO ()
+printError e = putStrLn $ "parse error: " ++ show e
 
 genPeerId :: String
 genPeerId = "-HS0001-20150215"
@@ -22,10 +22,7 @@ main = do
    Right d -> case (MInfo.mkMetaInfo d) of
                Nothing -> putStrLn "parse error"
                Just m -> do
-                 let (Benc.Bdict d') = d
---                 putStrLn (show m)
---                 putStrLn (T.urlEncode (T.infoHash d'))
-                 do body <- T.connect (MInfo.announce m) (T.prepareRequest d genPeerId)
-                    putStrLn body
+                 body <- (Benc.decode . BC.pack) <$> T.connect (MInfo.announce m) (T.prepareRequest d genPeerId)
+                 putStrLn (show body)
    Left e -> printError e
   putStrLn "done"