diff --git a/src/PlausibleQuery.hs b/src/PlausibleQuery.hs index de1dfc4..95e9459 100644 --- a/src/PlausibleQuery.hs +++ b/src/PlausibleQuery.hs @@ -27,9 +27,14 @@ instance FromJSON MRResult where parseMetricsResponse :: MetricsResponse -> Either String (Map String Int) parseMetricsResponse MetricsResponse { results = r } = Map.fromList <$> mapM parseResult r where parseResult :: MRResult -> Either String (String, Int) - parseResult MRResult { metrics = [count], dimensions = [path] } = Right (path, count) + parseResult MRResult { metrics = [count], dimensions = [path] } + = Right (parsePagePath path, count) parseResult result = Left $ "Could not parse result: " ++ show result + parsePagePath [] = [] + parsePagePath "/" = [] + parsePagePath (x:xs) = x:parsePagePath xs; + queryPageviews :: C.Config -> IO (Either String (Map String Int)) queryPageviews config = do request' <- H.parseRequest $ "POST " ++ C.queryUrl (C.plausible config)