github events without authentication

This commit is contained in:
Yann Esposito (Yogsototh) 2015-03-30 19:33:45 +02:00
parent 5c83bfdc28
commit 7b43f46b2a
2 changed files with 27 additions and 1 deletions

View file

@ -21,5 +21,10 @@ executable muraine
-- other-modules:
-- other-extensions:
build-depends: base >=4.7 && <4.8
, bytestring
, case-insensitive
, conduit
, http-conduit
, http-types
hs-source-dirs: src/
default-language: Haskell2010

View file

@ -1,4 +1,25 @@
{-# LANGUAGE OverloadedStrings #-}
module Main where
-- import Data.Conduit
import Network.HTTP.Conduit
import Network.HTTP.Types.Header (Header)
import qualified Data.ByteString.Lazy.Char8 as LZ
import qualified Data.ByteString.Char8 as B
import Data.CaseInsensitive (original)
import Data.Monoid ((<>))
simpleHTTPWithUserAgent :: String -> IO (Response LZ.ByteString)
simpleHTTPWithUserAgent url = do
r <- parseUrl url
let request = r {requestHeaders = [("User-Agent","HTTP-Conduit")]}
withManager $ \manager -> httpLbs request manager
showHeader :: Header -> IO ()
showHeader (name, value) = B.putStrLn $ original name <> ": " <> value
main :: IO ()
main = putStrLn "Hello Muraine!"
main = do
response <- simpleHTTPWithUserAgent "https://api.github.com/events"
LZ.putStrLn (responseBody response)
mapM_ showHeader (responseHeaders response)