github events without authentication
This commit is contained in:
parent
5c83bfdc28
commit
7b43f46b2a
2 changed files with 27 additions and 1 deletions
|
@ -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
|
||||
|
|
23
src/Main.hs
23
src/Main.hs
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue