diff options
| author | LV-426 <lv-426@taproot.org.il> | 2014-12-02 02:25:06 +0200 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2014-12-02 02:34:35 +0200 |
| commit | d8af6c4be6120fab236f614fb93cb632fae174b5 (patch) | |
| tree | 17bd7532cf4e6fa2712715721acdc59429267916 /src-py/rhizi_server.py | |
| parent | 162e1e04660fc0e80635bbd9ad56ece564531a94 (diff) | |
REST mapping: apply login_decorator() to all but /login paths
Diffstat (limited to 'src-py/rhizi_server.py')
| -rw-r--r-- | src-py/rhizi_server.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src-py/rhizi_server.py b/src-py/rhizi_server.py index bda762a3..2edce5dd 100644 --- a/src-py/rhizi_server.py +++ b/src-py/rhizi_server.py @@ -72,6 +72,21 @@ def init_rest_api(flask_webapp): """ map REST API calls """ + + def rest_entry(path, f, flask_args={}): + return (path, f, flask_args) + + def login_decorator(f): + """ + check user is logged in before executing REST api call + """ + def wrapped_function(*args, **kw): + if not 'username' in session: + return redirect('/login') + return f(*args, **kw) + + return wrapped_function + rest_entry_set = [ rest_entry('/add/node-set' , rhizi_api.add_node_set), rest_entry('/graph/clone', rhizi_api.rz_clone), @@ -94,6 +109,9 @@ def init_rest_api(flask_webapp): flask_webapp.f = route_decorator(f) if '/login' != rest_path: + # currently require login on all but /login paths + flask_webapp.f = login_decorator(f) + if __name__ == "__main__": |
