check status
This commit is contained in:
parent
a6e2e421c0
commit
b052bcc313
1 changed files with 8 additions and 3 deletions
11
src/Main.hs
11
src/Main.hs
|
@ -4,6 +4,7 @@ module Main where
|
|||
-- import Data.Conduit
|
||||
import Network.HTTP.Conduit
|
||||
import Network.HTTP.Types.Header (Header)
|
||||
import Network.HTTP.Types.Status (statusIsSuccessful)
|
||||
import qualified Data.ByteString.Lazy.Char8 as LZ
|
||||
import qualified Data.ByteString.Char8 as B
|
||||
import Data.CaseInsensitive (original)
|
||||
|
@ -16,7 +17,7 @@ simpleHTTPWithUserAgent url user pass = do
|
|||
r <- parseUrl url
|
||||
let request = r {requestHeaders = [("User-Agent","HTTP-Conduit")]}
|
||||
requestWithAuth = applyBasicAuth (B.pack user) (B.pack pass) request
|
||||
withManager $ \manager -> httpLbs requestWithAuth manager
|
||||
withManager (httpLbs requestWithAuth)
|
||||
|
||||
showHeader :: Header -> IO ()
|
||||
showHeader (name, value) = B.putStrLn $ original name <> ": " <> value
|
||||
|
@ -36,5 +37,9 @@ main = do
|
|||
continueWithUserAndPass :: String -> String -> IO ()
|
||||
continueWithUserAndPass user pass = do
|
||||
response <- simpleHTTPWithUserAgent "https://api.github.com/events" user pass
|
||||
LZ.putStrLn (responseBody response)
|
||||
mapM_ showHeader (responseHeaders response)
|
||||
if statusIsSuccessful (responseStatus response)
|
||||
then do
|
||||
LZ.putStrLn (responseBody response)
|
||||
mapM_ showHeader (responseHeaders response)
|
||||
else
|
||||
putStrLn "Something went wrong"
|
||||
|
|
Loading…
Reference in a new issue