summaryrefslogtreecommitdiffstats
path: root/python/lasso.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/lasso.py')
-rw-r--r--python/lasso.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/python/lasso.py b/python/lasso.py
index 96d528f2..9f070467 100644
--- a/python/lasso.py
+++ b/python/lasso.py
@@ -1446,7 +1446,21 @@ class Lecp(Login):
raise AttributeError, name
ret = lassomod.lecp_getattr(self, name)
if ret is None:
- return None
+ raise AttributeError, name
+ elif name == "request":
+ if lassomod.lecp_getattr(self, "request_type") == messageTypeAuthnRequest:
+ ret = AuthnRequest(None, _obj=ret)
+ elif lassomod.lecp_getattr(self, "request_type") == messageTypeRequest:
+ ret = Node(_obj=ret)
+ # FIXME ret = Request(_obj=ret)
+ elif name == "response":
+ if lassomod.lecp_getattr(self, "response_type") == messageTypeAuthnResponse:
+ ret = AuthnResponse(None, _obj=ret)
+ elif lassomod.lecp_getattr(self, "response_type") == messageTypeResponse:
+ ret = SamlpResponse(_obj=ret)
+ # FIXME ret = Response(_obj=ret)
+ elif lassomod.lecp_getattr(self, "response_type") == messageTypeArtifact:
+ ret = Node(_obj=ret)
return ret
def new(cls, server = None):