Skip to content

Instantly share code, notes, and snippets.

@danpalmer
Last active December 16, 2015 01:49
Show Gist options
  • Save danpalmer/5357488 to your computer and use it in GitHub Desktop.
Save danpalmer/5357488 to your computer and use it in GitHub Desktop.
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Control.Applicative
import Snap.Core
import Snap.Util.FileServe
import Snap.Http.Server
import Data.ByteString
import Data.Maybe
main :: IO ()
main = quickHttpServe site
site :: Snap ()
site =
route [ ("static", serveDirectory "static")
, ("gs/:token/:site", method GET statsHandler)
]
requestStats :: Maybe ByteString -> Maybe ByteString -> Maybe ByteString
requestStats Nothing _ = Nothing
requestStats _ Nothing = Nothing
requestStats token site = pack
"https://api.gosquared.com/v2/timeSeries?" ++
"site_token=" ++ (fromJust site) ++
"&api_key=" ++ (fromJust token) ++
"&from=2013-04-02+23:00" ++
"&to=2013-04-10+23:00"
statsHandler :: Snap ()
statsHandler = do
token <- getParam "token"
site <- getParam "site"
writeBS (fromJust (requestStats token site))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment