ua-parser-0.2.1: src/Web/UAParser.hs
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
module Web.UAParser
(
-- * Readying parser
UAConfig
, loadUAParser
-- * Parsing browser (user agent)
, parseUA
, UAResult (..)
, uarVersion
-- * Parsing OS
, parseOS
, OSResult (..)
, osrVersion
) where
-------------------------------------------------------------------------------
import System.FilePath.Posix
-------------------------------------------------------------------------------
import Paths_ua_parser
import Web.UAParser.Core
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- | Load a user agent string parser state, ready to be used with one
-- of the parsing functions.
--
-- This function will load the YAML parser definitions stored in
-- package's cabal 'getDataDir'.
loadUAParser :: IO UAConfig
loadUAParser = do
dir <- getDataDir
loadConfig $ dir </> "regexes.yaml"