def inner(*args, **kwargs): try: try: res = f(*args, **kwargs) if isinstance(res, wrappers.Response): return res response = Response(json.dumps(res, cls=DatetimeEncoder)) except Exception as e: top = traceback.extract_stack()[-1] r = { "message": str(e), "error": ', '.join([ type(e).__name__, os.path.basename(top[0]), str(top[1]) ]) } response = Response(json.dumps(r)) response.headers.add('Content-Type', 'application/json') response.headers['Access-Control-Allow-Credentials'] = 'true' return response finally: db.rollback() db.remove()
def inner(*args, **kwargs): try: return jsonify(f(*args, **kwargs)) except Exception as e: return jsonify({"error": str(e)}) finally: db.rollback() db.remove()
def inner(*args, **kwargs): try: try: res = f(*args, **kwargs) if isinstance(res, wrappers.Response): return res response = Response(json.dumps(res, cls=DatetimeEncoder)) except Exception as e: top = traceback.extract_stack()[-1] r = {"message": str(e)} if DEBUG: r['error'] = ', '.join([type(e).__name__, os.path.basename(top[0]), str(top[1]) ]) response = Response(json.dumps(r)) response.headers.add('Content-Type', 'application/json') response.headers['Access-Control-Allow-Credentials'] = 'true' return response finally: db.rollback() db.remove()