module Data.BrowsCap.Aquire (
   browsCapFromFile
 , browsCapFromWeb
 ) where

import Control.Lens
import Data.BrowsCap
import qualified Data.Text.IO as TIO
import Data.Text.Lazy.Lens
import qualified Network.Wreq as Wreq

browsCapFromFile :: FilePath -> IO BrowsCap
browsCapFromFile fp = loadBrowsCap =<< TIO.readFile fp

browsCapFromWeb :: IO BrowsCap
browsCapFromWeb = do
  r <- Wreq.get "http://browscap.org/stream?q=Full_PHP_BrowsCapINI"
  loadBrowsCap (r ^. Wreq.responseBody.utf8.strict)