Copyright | (c) Artem Chirkin |
---|---|
License | MIT |
Maintainer | Artem Chirkin <chirkin@arch.ethz.ch> |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Provide services to LTI 1.1 consumers, such as edX.
- data LTIProvider
- ltiOAuth :: LTIProvider -> OAuth
- newLTIProvider :: ByteString -> ByteString -> LTIProvider
- data LTIException
- gradeRequest :: MonadIO m => LTIProvider -> (LTIProvider -> request -> ExceptT LTIException m (Map ByteString ByteString)) -> request -> ExceptT LTIException m (Double -> Manager -> m (Response ByteString), Map ByteString ByteString)
- processRequest :: MonadIO m => LTIProvider -> Request -> ExceptT LTIException m (Map ByteString ByteString)
- processWaiRequest :: MonadIO m => LTIProvider -> Request -> ExceptT LTIException m (Map ByteString ByteString)
- processYesodRequest :: (MonadIO m, MonadHandler m) => LTIProvider -> YesodRequest -> ExceptT LTIException m (Map ByteString ByteString)
- replaceResultRequest :: MonadIO m => LTIProvider -> String -> Text -> Double -> Maybe Text -> m Request
Data types
ltiOAuth :: LTIProvider -> OAuth Source #
OAuth credentials of provider
newLTIProvider :: ByteString -> ByteString -> LTIProvider Source #
Create a new default LTIProvider with given provider token and secret
data LTIException Source #
Either LTI or OAuth exception
simplifiers
:: MonadIO m | |
=> LTIProvider | |
-> (LTIProvider -> request -> ExceptT LTIException m (Map ByteString ByteString)) | processRequest or processWaiRequest |
-> request | request value (e.g. from Network.HTTP.Client or Network.Wai) |
-> ExceptT LTIException m (Double -> Manager -> m (Response ByteString), Map ByteString ByteString) | returns a grading function and a request parameter map |
Being supplied with processRequest function creates a proper grade response to the service consumer.
Incoming requests
processRequest :: MonadIO m => LTIProvider -> Request -> ExceptT LTIException m (Map ByteString ByteString) Source #
Get url encoded data from Network.HTTP.Client.Request
processWaiRequest :: MonadIO m => LTIProvider -> Request -> ExceptT LTIException m (Map ByteString ByteString) Source #
Get url encoded data from Network.Wai.Request
processYesodRequest :: (MonadIO m, MonadHandler m) => LTIProvider -> YesodRequest -> ExceptT LTIException m (Map ByteString ByteString) Source #
Get url encoded data from Network.Wai.Request