, runXmlA
, getEntityType
, outputXmlPage
+ , getUserID
)
where
import Network.HTTP.Lucu
import Network.HTTP.Lucu.Utils
import Network.URI hiding (path)
+import Rakka.Authorization
import Rakka.Environment
import Rakka.Validation
+import System.Log.Logger
import Text.XML.HXT.Arrow.ReadDocument
import Text.XML.HXT.Arrow.WriteDocument
import Text.XML.HXT.Arrow.XmlIOStateArrow
import Text.XML.HXT.DOM.XmlKeywords
+logger :: String
+logger = "Rakka.Resource"
+
+
-- "/" ==> "/"
-- "/foo" ==> "/foo.html"
-- "/foo/" ==> "/foo.html"
where
getXmlReader
= do req <- input defaultLimit
+ liftIO $ debugM logger req
return $ readString [ (a_validate , v_0)
, (a_check_namespaces , v_1)
, (a_remove_whitespace, v_0)
>>>
writeDocumentToString [ (a_indent, v_1) ]
)
- output resultStr
\ No newline at end of file
+ output resultStr
+
+
+getUserID :: Environment -> Resource (Maybe String)
+getUserID env
+ = do auth <- getAuthorization
+ case auth of
+ Just (BasicAuthCredential userID password)
+ -> do valid <- isValidPair (envAuthDB env) userID password
+ if valid then
+ return (Just userID)
+ else
+ return Nothing
+ _ -> return Nothing