X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Rakka%2FResource%2FUsers.hs;h=ccf677c8ec24cf2646bf2bc3b6c3a95815d7628d;hb=88747f2;hp=a4bf60204b047d54944afb08dadc62fd08386f13;hpb=e72dffe3a211d94a123a9a0b6843ae9b4b9838f5;p=Rakka.git diff --git a/Rakka/Resource/Users.hs b/Rakka/Resource/Users.hs index a4bf602..ccf677c 100644 --- a/Rakka/Resource/Users.hs +++ b/Rakka/Resource/Users.hs @@ -2,7 +2,6 @@ module Rakka.Resource.Users ( resUsers ) where - import Control.Monad import Control.Monad.Trans import Data.Maybe @@ -10,20 +9,19 @@ import Network.HTTP.Lucu import Rakka.Authorization import Rakka.Environment import Rakka.Resource -import Text.XML.HXT.Arrow hiding (when) resUsers :: Environment -> ResourceDef resUsers env = ResourceDef { - resUsesNativeThread = False - , resIsGreedy = True - , resGet = Just $ handleGet env - , resHead = Nothing - , resPost = Nothing - , resPut = Just $ handlePut env - , resDelete = Just $ handleDelete env - } + resUsesNativeThread = False + , resIsGreedy = True + , resGet = Just $ handleGet env + , resHead = Nothing + , resPost = Nothing + , resPut = Just $ handlePut env + , resDelete = Just $ handleDelete env + } {- @@ -44,13 +42,13 @@ handleGet :: Environment -> Resource () handleGet env = do userID <- getUserID env when (isNothing userID) - $ abort Forbidden [] Nothing + $ abort Forbidden [] Nothing path <- getPathInfo case path of - [] -> returnUserList - [name] -> returnUser name - _ -> foundNoEntity Nothing + [] -> returnUserList + [name] -> returnUser name + _ -> foundNoEntity Nothing where returnUserList :: Resource () returnUserList @@ -92,17 +90,17 @@ handlePut env path <- getPathInfo case path of - [name] -> do mimeType <- getContentType - case mimeType of - Nothing - -> abort BadRequest [] (Just "Missing Content-Type") - Just (MIMEType "text" "plain" _) - -> do pass <- input defaultLimit - addUser (envAuthDB env) name pass - Just t - -> abort UnsupportedMediaType [] (Just $ "Unsupported media type: " ++ show t) - setStatus Created - _ -> abort BadRequest [] (Just "Invalid URI") + [name] -> do mimeType <- getContentType + case mimeType of + Nothing + -> abort BadRequest [] (Just "Missing Content-Type") + Just (MIMEType "text" "plain" _) + -> do pass <- input defaultLimit + addUser (envAuthDB env) name pass + Just t + -> abort UnsupportedMediaType [] (Just $ "Unsupported media type: " ++ show t) + setStatus Created + _ -> abort BadRequest [] (Just "Invalid URI") handleDelete :: Environment -> Resource () @@ -113,6 +111,6 @@ handleDelete env path <- getPathInfo case path of - [name] -> delUser (envAuthDB env) name - _ -> abort BadRequest [] (Just "Invalid URI") + [name] -> delUser (envAuthDB env) name + _ -> abort BadRequest [] (Just "Invalid URI") setStatus NoContent