Hello,

I am currently going through the 'Evening with Chicago Boss tutorial.

I am following instructions for handling user authentication and have 
implemented this code fragment in the 
controller/evening_user_controller.erl:


   1. login('POST', []) ->
   2.     Name = Req:post_param("name"),
   3.     case boss_db:find(ward_boss, [{name, Name}], [{limit,1}]) of
   4.         [WardBoss] ->
   5.             case WardBoss:check_password(Req:post_param("password")) of
   6.                 true ->
   7.                     {redirect, proplists:get_value("redirect",
   8.                         Req:post_params(), "/"), 
WardBoss:login_cookies()};
   9.                 false ->
   10.                     {ok, [{error, "Bad name/password combination"}]}
   11.             end;
   12.         [] ->
   13.             {ok, [{error, "No Ward Boss named " ++ Name}]}
   14.     end.
   
My issue is that the value of the redirect (lines 7 & 8) calculates to the 
default value "/" in proplists:get_value/3.

The return value of Req:post_params() is:
[{<<"name">>,<<"Bathhouse John">>},
              {<<"password">>,<<"password">>},
              {<<"redirect">>,<<"http://localhost:8001/voter/list";>>}]

so querying this list with proplists:get_value("redirect", Req:post_params()) 
returns undefined.

I modified the code to:
binary_to_list(proplists:get_value(list_to_binary("redirect"), 
Req:post_params()))

This works but it is awfully ugly. 

Is there a helper method in Chicago Boss or a more elegant erlang conversion 
term  
I could use to handle the binary tuples returned by Req:get_params()?

What has changed since this tutorial was written? Has the output of 
Req:get_params()  
changed?

Thanks

-- 
You received this message because you are subscribed to the Google Groups 
"ChicagoBoss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/group/chicagoboss.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/chicagoboss/83ae8c3e-2668-4745-9d11-4519af0c21ed%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to