webmcp
annotate framework/env/auth/openid/xrds_document.lua @ 34:e19b0b5c46ba
allow execptions an slot.reset_all()
this is usefull when an error is detected deep into a view where you want redirect
to something usefull, but still save some slots like notice and error slots
this is usefull when an error is detected deep into a view where you want redirect
to something usefull, but still save some slots like notice and error slots
| author | Daniel Poelzleithner <poelzi@poelzi.org> | 
|---|---|
| date | Wed Oct 06 16:14:33 2010 +0200 (2010-10-06) | 
| parents | 3a6fe8663b26 | 
| children | 
| rev | line source | 
|---|---|
| jbe/bsw@20 | 1 --[[-- | 
| jbe/bsw@20 | 2 auth.openid.xrds_document{ | 
| jbe/bsw@20 | 3 return_to_module = return_to_module, | 
| jbe/bsw@20 | 4 return_to_view = return_to_view | 
| jbe/bsw@20 | 5 } | 
| jbe/bsw@20 | 6 | 
| jbe/bsw@20 | 7 This function returns an XRDS document with Content-Type | 
| jbe/bsw@20 | 8 application/xrds+xml. For more information see documentation on | 
| jbe/bsw@20 | 9 auth.openid.xrds_document{...}. | 
| jbe/bsw@20 | 10 | 
| jbe/bsw@20 | 11 --]]-- | 
| jbe/bsw@20 | 12 | 
| jbe/bsw@20 | 13 function auth.openid.xrds_document(args) | 
| jbe/bsw@20 | 14 slot.set_layout(nil, "application/xrds+xml") | 
| jbe/bsw@20 | 15 slot.put_into("data", | 
| jbe@23 | 16 '<?xml version="1.0" encoding="UTF-8"?>\n', | 
| jbe@23 | 17 '<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)">\n', | 
| jbe@23 | 18 ' <XRD>\n', | 
| jbe@23 | 19 ' <Service>\n', | 
| jbe@23 | 20 ' <Type>http://specs.openid.net/auth/2.0/return_to</Type>\n', | 
| jbe@23 | 21 ' <URI>', | 
| jbe/bsw@20 | 22 encode.url{ | 
| jbe/bsw@20 | 23 base = request.get_absolute_baseurl(), | 
| jbe/bsw@20 | 24 module = args.return_to_module, | 
| jbe/bsw@20 | 25 view = args.return_to_view | 
| jbe/bsw@20 | 26 }, | 
| jbe@23 | 27 '</URI>\n', | 
| jbe@23 | 28 ' </Service>\n', | 
| jbe@23 | 29 ' </XRD>\n', | 
| jbe@23 | 30 '</xrds:XRDS>\n' | 
| jbe/bsw@20 | 31 ) | 
| jbe/bsw@20 | 32 end |