packages feed

snaplet-tasks-0.1: src/Snap/Snaplet/Tasks/Types.hs

module Snap.Snaplet.Tasks.Types where

import           Data.ByteString
import qualified Data.Map as Map

-- | Formalized task given at command line by 
--   user. 
--   If you'd have "supercool" snaplet that would
--   register one of it's task through "/sometask"
--   route then at command line user would have to 
--   run Snap App with: 'snapapp T supercool:sometask'
--   Params for that task would be given at command line
--   like this: 'snapapp T supercool:sometask param1=v1 param2=v2'
--   This means that everything after T at command line is
--   treated as task description.
data Task = Task {
  taskNamespace :: String,
  taskName      :: String,
  taskArgs      :: Map.Map ByteString ByteString,
  taskPort      :: String
} deriving (Show)