helics-wai-0.2.0: src/Network/Helics/Wai.hs
module Network.Helics.Wai (helics, transactionId) where
import Network.Wai
import Network.Helics
import qualified Network.Helics.Wai.Safe as Safe
import qualified Data.Vault.Lazy as V
import System.IO.Unsafe
tidKey :: V.Key TransactionId
tidKey = unsafePerformIO V.newKey
{-# NOINLINE tidKey #-}
-- | helics middleware.
helics :: Middleware
helics = Safe.helics tidKey
-- | get TransactionId from request.
transactionId :: Request -> TransactionId
transactionId = Safe.transactionId tidKey