updated userlogger in API to pass HTTPError to client

pull/67/head
13621160019@163.com 2021-09-04 15:41:06 +08:00 committed by Caozhenhui
parent 13efbfc516
commit 859ed6826c
1 changed files with 17 additions and 6 deletions

View File

@ -6,6 +6,7 @@ from datetime import datetime
import uuid
from gunicorn.http.body import Body
import simplejson as json
import falcon
def write_log(user_uuid, request_method, resource_type, resource_id, request_body):
@ -33,7 +34,7 @@ def write_log(user_uuid, request_method, resource_type, resource_id, request_bod
))
cnx.commit()
except Exception as e:
print(str(e))
print('write_log:' + str(e))
finally:
if cnx:
cnx.disconnect()
@ -72,11 +73,14 @@ def user_logger(func):
raw_json = reads.decode('utf-8')
with open(file_name, "rb") as fr:
req.stream = Body(fr)
os.remove(file_name)
func(*args, **kwargs)
write_log(user_uuid=user_uuid, request_method='POST', resource_type=class_name,
resource_id=kwargs.get('id_'), request_body=raw_json)
os.remove(file_name)
except Exception as e:
if isinstance(e, falcon.HTTPError):
raise e
else:
print('user_logger:' + str(e))
return
elif func_name == "on_put":
@ -88,12 +92,16 @@ def user_logger(func):
raw_json = reads.decode('utf-8')
with open(file_name, "rb") as fr:
req.stream = Body(fr)
os.remove(file_name)
func(*args, **kwargs)
write_log(user_uuid=user_uuid, request_method='PUT', resource_type=class_name,
resource_id=kwargs.get('id_'), request_body=raw_json)
os.remove(file_name)
except Exception as e:
if isinstance(e, falcon.HTTPError):
raise e
else:
print('user_logger:' + str(e))
return
elif func_name == "on_delete":
try:
@ -101,6 +109,9 @@ def user_logger(func):
write_log(user_uuid=user_uuid, request_method="DELETE", resource_type=class_name,
resource_id=kwargs.get('id_'), request_body=json.dumps(kwargs))
except Exception as e:
if isinstance(e, falcon.HTTPError):
raise e
else:
print('user_logger:' + str(e))
return