[Yesod] setUltDest' lost query param, it's right thing?

setUltDest' which used in redirectLogin(which is called from requireAuth) set session reqGetParams, but not postParams. This means that , if there are a code as below, posted parameters are lost, aren't these? postFooR :: Handler RepHtml postFooR = do (uid,_) <- requireAuth (x, y) <- uncurry (liftM2 (,)) (lookupPostParam "x", lookupPostParam "y") .... defaultLayout $ do .... ....

This is the intended behavior, though I can appreciate what you're
asking for. Basically, it's not necessarily a good idea to
automatically resend POST parameters, since a POST operation is not
idempotent (ie, POST changes things), and we should follow the HTTP
standard on when things should change.
In theory, we could create alternative setUltDest-style functions that
also set the POST parameters, though we would also need to do
something about indicating that the request should be treated as a
POST rather than GET request after redirect. This may come back to
re-introducing the MethodOverride middleware, which is something Nubis
and I were discussing.
Michael
2010/12/20 いとうかつとし
setUltDest' which used in redirectLogin(which is called from requireAuth) set session reqGetParams, but not postParams. This means that , if there are a code as below, posted parameters are lost, aren't these? postFooR :: Handler RepHtml postFooR = do (uid,_) <- requireAuth (x, y) <- uncurry (liftM2 (,)) (lookupPostParam "x", lookupPostParam "y") .... defaultLayout $ do .... ....
_______________________________________________ web-devel mailing list web-devel@haskell.org http://www.haskell.org/mailman/listinfo/web-devel
participants (2)
-
Michael Snoyman
-
いとうかつとし