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
示例#2
0
    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)
示例#3
0
    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)
示例#4
0
 def force_type(cls, response, environ=None):
     if isinstance(response, (Document, list, dict)):
         return cls(response)
     return Response.force_type(response, environ)
示例#5
0
 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)
示例#6
0
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)
示例#7
0
	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)