hsoz-0.0.0.2: example/BewitClient.hs
module BewitClient where
import Control.Exception as E
import Control.Lens
import Data.ByteString (ByteString)
import qualified Data.ByteString as BS
import qualified Data.ByteString.Char8 as S8
import qualified Data.ByteString.Lazy.Char8 as L8
import Network.HTTP.Client (HttpException (..))
import Network.Wreq
import Data.Monoid
import Common
import Network.Hawk
import qualified Network.Hawk.Client as Hawk
clientMain :: IO ()
clientMain =
let uri = "http://localhost:8000/resource/1?b=1&a=2"
creds = Hawk.Credentials "dh37fgj492je" sharedKey (HawkAlgo SHA256)
in do
res <- Hawk.getBewit creds 60 Nothing 0 uri
case res of
Just bewit -> do
let uri' = uri <> "&bewit=" <> bewit
r <- get (S8.unpack uri')
putStrLn $ (show $ r ^. responseStatus . statusCode) ++ ": "
++ (L8.unpack $ r ^. responseBody)
Nothing -> putStrLn "Couldn't generate bewit"