def handle_error(error): if hasattr(error, 'code'): if error.code < 400: return Response.force_type(error, request.environ) elif error.code == 404: flash(str(error), 'danger') logging.error(str(error)) return render_template('index.html'), 404 flash(str(error), 'danger') logging.exception('Something went wrong. {}'.format(str(error))) return render_template('index.html'), 500
def force_type(rv, env): """Called by ``flask.make_response`` when a view returns a none byte, string or unicode value. This method takes the views return value and converts into a standard `Response`. Args: rv (flask_hal.document.Document): View return value env (dict): Request environment Returns: flask.wrappers.Response: A standard Flask response """ if isinstance(rv, Document): return Response(rv.to_json(), headers={'Content-Type': 'application/hal+json'}) return Response.force_type(rv, env)
def force_type(rv, env): """Called by ``flask.make_response`` when a view returns a none byte, string or unicode value. This method takes the views return value and converts into a standard `Response`. Args: rv (flask_hal.document.Document): View return value env (dict): Request environment Returns: flask.wrappers.Response: A standard Flask response """ if isinstance(rv, Document): return Response( rv.to_json(), headers={ 'Content-Type': 'application/hal+json' }) return Response.force_type(rv, env)
def force_type(cls, response, environ=None): if isinstance(response, (Document, list, dict)): return cls(response) return Response.force_type(response, environ)
def __call__(self, environ, start_response): raise NotImplementedError("completely untested and probably wrong") from pybble.app import Response res = Response.force_type(self) return res(environ, start_response)
def endpoint_not_found(e): if request.path != '/favicon.ico': # Avoid handing error for favicon 404 errors. return error.not_found(e) else: return Response.force_type(e, request.environ)
def __call__(self, environ,start_response): raise NotImplementedError("completely untested and probably wrong") from pybble.app import Response res = Response.force_type(self) return res(environ,start_response)