summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-02-01 16:45:51 +0200
committerLV-426 <lv-426@taproot.org.il>2015-02-01 16:55:56 +0200
commit1aad3bb6d37c2b63049e04f73333e6e7f5bbb085 (patch)
tree7b9864559dd5d0ab6adebd207f59d23a5b9789c5 /src/server
parent1b9c6dd3c9df12dec4ae627bcc2864e007ba4620 (diff)
rz_req_handling: make_response__{http__empty,json__html,json__redirect}(),
Diffstat (limited to 'src/server')
-rw-r--r--src/server/rz_api.py8
-rw-r--r--src/server/rz_feedback.py6
-rw-r--r--src/server/rz_mesh.py3
-rw-r--r--src/server/rz_req_handling.py20
-rw-r--r--src/server/rz_user.py12
5 files changed, 33 insertions, 16 deletions
diff --git a/src/server/rz_api.py b/src/server/rz_api.py
index 8b7ac825..363dba40 100644
--- a/src/server/rz_api.py
+++ b/src/server/rz_api.py
@@ -34,7 +34,7 @@ from rz_api_common import __sanitize_input
from rz_api_common import sanitize_input__topo_diff
from rz_api_rest import common_resp_handle
from rz_kernel import RZ_Kernel
-from rz_req_handling import make_json_response
+from rz_req_handling import make_response__json
log = logging.getLogger('rhizi')
@@ -181,18 +181,18 @@ def login():
u, p = sanitize_input(request)
except:
log.warn('failed to sanitize inputs. request: %s' % request)
- return make_json_response(status=401) # return empty response
+ return make_response__json(status=401) # return empty response
try:
crypt_util.validate_login(flask.current_app.rz_config, u, p)
except Exception as e:
# login failed
log.warn('login: unauthorized: user: %s' % (u))
- return make_json_response(status=401) # return empty response
+ return make_response__json(status=401) # return empty response
# login successful
session['username'] = u
log.debug('login: success: user: %s' % (u))
- return make_json_response(status=200) # return empty response
+ return make_response__json(status=200) # return empty response
if request.method == 'GET':
return render_template('login.html')
diff --git a/src/server/rz_feedback.py b/src/server/rz_feedback.py
index 13a1fa91..bc059ebe 100644
--- a/src/server/rz_feedback.py
+++ b/src/server/rz_feedback.py
@@ -6,7 +6,7 @@ from flask import session
import logging
from rz_mail import send_email_message
-from rz_req_handling import make_json_response
+from rz_req_handling import make_response__json
log = logging.getLogger('rhizi')
@@ -51,7 +51,7 @@ def send_user_feedback__email():
u_feedback = sanitize_input(request)
except:
log.warn('failed to sanitize inputs. request: %s' % request)
- return make_json_response(status=400) # bad Request
+ return make_response__json(status=400) # bad Request
# FIXME: should be async via celery (or another method)
session_user = session.get('username')
@@ -77,4 +77,4 @@ def send_user_feedback__email():
except Exception:
log.exception('send_user_feedback__email: exception while sending email')
- return make_json_response(status=500)
+ return make_response__json(status=500)
diff --git a/src/server/rz_mesh.py b/src/server/rz_mesh.py
index edb9f4f7..1b34905b 100644
--- a/src/server/rz_mesh.py
+++ b/src/server/rz_mesh.py
@@ -12,6 +12,7 @@ from socketio.server import SocketIOServer
from model.graph import Attr_Diff, Topo_Diff
from rz_api_websocket import WebSocket_Graph_NS
from rz_kernel import RZ_Kernel
+from rz_req_handling import make_response__http__empty
log = logging.getLogger('rhizi')
@@ -69,7 +70,7 @@ def init_ws_interface(cfg, kernel, flask_webapp):
socketio_manage(request.environ, {'/graph': WebSocket_Graph_NS}, ws_env)
except:
flask_webapp.logger.error("Exception while handling socketio connection", exc_info=True)
- return Response()
+ return make_response__http__empty(101) # 'switching protocols' HTTP status code
def ws_broadcast_to_all(pkt):
for sessid, socket in ws_srv.sockets.iteritems():
diff --git a/src/server/rz_req_handling.py b/src/server/rz_req_handling.py
index e69fdcfd..9d3e0b44 100644
--- a/src/server/rz_req_handling.py
+++ b/src/server/rz_req_handling.py
@@ -2,7 +2,7 @@ from flask import jsonify
from flask import make_response
import json
-def make_json_response(status=200, data={}):
+def make_response__json(status=200, data={}):
"""
Construct a json response with proper content-type header
@@ -14,11 +14,27 @@ def make_json_response(status=200, data={}):
resp.status = str(status)
return resp
-def make_http_response(status=200):
+def make_response__http__empty(status=200):
+ """
+ Construct an empty HTTP response
+ """
resp = make_response()
resp.status = str(status)
return resp
+def make_response__json__html(status=200, html_str=''):
+ """
+ Construct a json response with HTML payload
+ """
+ return make_response__json(data={'response__html': html_str })
+
+def make_response__json__redirect(redirect_url, status=303, html_str=''):
+ """
+ Construct a json response with redirect payload
+ """
+ return make_response__json(data={'response__html': html_str,
+ 'redirect_url': redirect_url })
+
def common_resp_handle(data=None, error=None):
"""
common response handling:
diff --git a/src/server/rz_user.py b/src/server/rz_user.py
index 0038cec0..caa913b4 100644
--- a/src/server/rz_user.py
+++ b/src/server/rz_user.py
@@ -10,7 +10,7 @@ import logging
import uuid
from rz_mail import send_email_message
-from rz_req_handling import make_json_response, make_response__ajax__html
+from rz_req_handling import make_response__json, make_response__json__html
log = logging.getLogger('rhizi')
@@ -138,7 +138,7 @@ def rest__user_signup():
us_req = sanitize_input(request)
except Exception as e:
log.exception(e)
- return make_response__ajax__html(status=400, html_str=html_err__tech_difficulty)
+ return make_response__json__html(status=400, html_str=html_err__tech_difficulty)
# FIXME: implement form validation
@@ -146,7 +146,7 @@ def rest__user_signup():
if None != existing_req:
# already pending
log.warning('user signup: request already pending: %s' % (existing_req))
- return make_response__ajax__html(status=200, html_str=html_ok__already_pending)
+ return make_response__json__html(status=200, html_str=html_ok__already_pending)
us_req['submission_date'] = datetime.now()
us_req['validation_key'] = generate_email_confirmation_key()
@@ -155,10 +155,10 @@ def rest__user_signup():
try:
send_user_activation_link__email(us_req)
add_user_signup_req(us_req_map, us_req)
- return make_response__ajax__html(html_str=html_ok__submitted)
+ return make_response__json__html(html_str=html_ok__submitted)
except Exception as e:
log.exception('user sign-up: failed to send validation email', e)
- return make_response__ajax__html(status=500, html_str=html_err__tech_difficulty)
+ return make_response__json__html(status=500, html_str=html_err__tech_difficulty)
if request.method == 'GET':
@@ -220,4 +220,4 @@ def send_user_activation_link__email(us_req):
except Exception:
log.exception('send_user_feedback__email: exception while sending email')
- return make_json_response(status=500)
+ return make_response__json(status=500)