Not a member of Pastebin yet?
                        Sign Up,
                        it unlocks many cool features!                    
                - {-# LANGUAGE DeriveGeneric #-}
 - {-# LANGUAGE OverloadedStrings #-}
 - module Wiki (getArticles) where
 - import Network.HTTP.Conduit (simpleHttp, parseRequest, httpLbs, newManager, tlsManagerSettings, responseBody, method)
 - import Network.HTTP.Simple (setRequestHeader, getResponseBody, getResponseStatus, setRequestBodyJSON)
 - import qualified Data.ByteString.Lazy.UTF8 as UBS
 - import qualified Data.ByteString.Lazy as LBS
 - import qualified Data.ByteString.Char8 as CBS
 - import qualified Data.ByteString as BS
 - import qualified Data.Text.Lazy.Encoding as DTLE
 - import qualified Data.Text.Lazy
 - import qualified Data.Text
 - import qualified System.Environment
 - import Network.HTTP.Types.Header (hAuthorization)
 - import Network.HTTP.Types.Method ( StdMethod( POST ) )
 - import Control.Monad.Trans.Resource (runResourceT)
 - graphqlApiUrl :: String
 - graphqlApiUrl = "secret ;)"
 - testUrl = "https://enudsbs2ojtp.x.pipedream.net"
 - hAuthorizationValue :: String -> BS.ByteString
 - hAuthorizationValue token = CBS.pack ("Bearer " ++ token)
 - requestBody :: String
 - requestBody = "{\"operationName\":null,\"variables\":{},\"query\":\"{\n pages {\n list {\n title\n }\n }\n}\n\"}"
 - getArticles :: IO ()
 - getArticles = do
 - {- https://hackage.haskell.org/package/http-conduit-2.3.8/docs/Network-HTTP-Conduit.html#v:httpLbs -}
 - token <- System.Environment.getEnv "WIKI_TOKEN"
 - initReq <- parseRequest testUrl
 - let req = initReq
 - { method = "POST"
 - }
 - let finalReq = setRequestBodyJSON requestBody req
 - manager <- newManager tlsManagerSettings
 - res <- httpLbs (setRequestHeader hAuthorization [hAuthorizationValue token] finalReq) manager
 - print (getResponseBody res)
 
Advertisement
 
                    Add Comment                
                
                        Please, Sign In to add comment