On Tuesday 30 August 2016 14:25:28 c0nw0nk wrote: > So this is a fun one. > > As allot of people probably already know you can't use "IF" on upstream > values since if conditions are executed before any "$upstream_" conditions. > > But with a map directive it might just be possible to combine 2 upstream > maps together and have a output based on the conditions matched. > > Here is what I am trying to achieve. > > If the upstream returns with a logged_in value of 1 then we forward and pass > the Set-Cookie header to the client "add_header". > Else the "add_header Set-Cookie" should be empty. > > ##logged in value 0 = guest > ##logged in value 1 = has an account > map $upstream_cookie_logged_in $upstream_logged_in_value { > default $upstream_cookie_logged_in; > } > > map $upstream_http_set_cookie $upstream_md5_value { > default $upstream_http_set_cookie; > } > > > add_header Set-Cookie $upstream_md5_value; ##Only want to send the MD5 > cookie when the logged in value is 1 > > > fastcgi_hide_header Set-Cookie; ##Removed the set-cookie and to be added in > only when conditions are met. "add_header" > > > Thanks in advance to anyone who can help me out :D > [..]
map $upstream_cookie_logged_in $upstream_md5_value { 1 $upstream_http_set_cookie; } add_header Set-Cookie $upstream_md5_value; wbr, Valentin V. Bartenev _______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx