Example #1
0
    def serialize(self, principal):
        """Serializes a principal into a JSON string

        Args:
            principal: the principal object
        """
        return jsonify(principal)
Example #2
0
    def serialize(self, group):
        """Serializes a group into a JSON string

        Args:
            group: the group object
        """
        return jsonify(group)
Example #3
0
    def serialize(self, principal):
        """Serializes a principal into a JSON string

        Args:
            principal: the principal object
        """
        return jsonify(principal)
Example #4
0
 def encode(self):
     d = self._as_dict()
     # pickle data elements
     if d["data"]:
         pickled = pickle.dumps(self.__data)
         d["data"] = base64.standard_b64encode(pickled).decode(self._SYS_ENCODING)
     return jsonify(d)
Example #5
0
    def serialize(self, group):
        """Serializes a group into a JSON string

        Args:
            group: the group object
        """
        return jsonify(group)
Example #6
0
 def encode(self):
     d = self._as_dict()
     # pickle data elements
     if d["data"]:
         pickled = pickle.dumps(self.__data)
         d["data"] = base64.standard_b64encode(pickled).decode(
             self._SYS_ENCODING)
     return jsonify(d)
Example #7
0
 def _produces(f, handler, *args, **kwargs):
     handler.media_type = media
     handler.set_header("Content-Type", media.value)
     val = f(handler, *args, **kwargs)
     if val and not handler.finished:
         if media == MediaTypes.JSON:
             if root is None and "produces_wrapper" in handler.application.settings:
                 root_wrapper = handler.application.settings["produces_wrapper"]
             else:
                 root_wrapper = root
             handler.write(jsonify(val,
                                   root=root_wrapper,
                                   camel_case=camel_case,
                                   ignore_attributes=ignore_attributes))
         elif media == MediaTypes.HTML:
             handler.write(val)
     return None
Example #8
0
    def write_error(self, status_code, **kwargs):

        e = stack = None
        exc_info = kwargs.get("exc_info", None)

        if status_code == 401:
            message = "User not authorized."
        elif status_code == 403:
            message = "User forbidden."
        else:
            if exc_info:
                if isinstance(exc_info[1], AccessDeniedError):
                    status_code = 403
                    message = "User forbidden."
                    self.set_status(403, message)
                elif isinstance(exc_info[1], AuthenticationException):
                    status_code = 401
                    message = "User not authorized."
                    self.set_status(401, message)
                else:
                    t, e, tb = exc_info
                    stack = traceback.format_tb(tb)
                    message = str(
                        e
                    ) if self.debug else "An internal server error occurred."
            else:
                message = "An unknown error occurred."

        error = ErrorResponse(
            status_code=status_code,
            message=message,
            exception=e.__class__.__name__ if self.debug and e else None,
            stack=stack if self.debug and stack else None)

        if self.media_type == MediaTypes.JSON:
            self.set_header("Content-Type", MediaTypes.JSON.value)
            self.write(jsonify(error._asdict(), "error"))
        else:
            if self.debug:
                self.render("error/error-dev.html", error=error)
            else:
                self.render("error/error.html", error=error)
Example #9
0
    def write_error(self, status_code, **kwargs):

        e = stack = None
        exc_info = kwargs.get("exc_info", None)

        if status_code == 401:
            message = "User not authorized."
        elif status_code == 403:
            message = "User forbidden."
        else:
            if exc_info:
                if isinstance(exc_info[1], AccessDeniedError):
                    status_code = 403
                    message = "User forbidden."
                    self.set_status(403, message)
                elif isinstance(exc_info[1], AuthenticationException):
                    status_code = 401
                    message = "User not authorized."
                    self.set_status(401, message)
                else:
                    t, e, tb = exc_info
                    stack = traceback.format_tb(tb)
                    message = str(e) if self.debug else "An internal server error occurred."
            else:
                message = "An unknown error occurred."

        error = ErrorResponse(status_code=status_code,
                              message=message,
                              exception=e.__class__.__name__ if self.debug and e else None,
                              stack=stack if self.debug and stack else None)

        if self.media_type == MediaTypes.JSON:
            self.set_header("Content-Type", MediaTypes.JSON.value)
            self.write(jsonify(error._asdict(), "error"))
        else:
            if self.debug:
                self.render("error/error-dev.html", error=error)
            else:
                self.render("error/error.html", error=error)
Example #10
0
 def write_results(self,
                   results,
                   media=MediaTypes.JSON,
                   root=None,
                   camel_case=True,
                   ignore_attributes=None):
     self.media_type = media
     self.set_header("Content-Type", media.value)
     if results and not self.finished:
         if media == MediaTypes.JSON:
             if root is None and "produces_wrapper" in self.application.settings:
                 root_wrapper = self.application.settings[
                     "produces_wrapper"]
             else:
                 root_wrapper = root
             self.write(
                 jsonify(results,
                         root=root_wrapper,
                         camel_case=camel_case,
                         ignore_attributes=ignore_attributes))
         elif media == MediaTypes.HTML:
             self.write(results)
Example #11
0
 def serialize(self, authentication):
     return jsonify(authentication)
Example #12
0
 def encode(self, data):
     """
     Serializes ``data`` into a raw string.
     """
     return base64.b64encode(zlib.compress(jsonify(data).encode("utf8")))
Example #13
0
 def serialize(self, authority):
     return jsonify(authority)
Example #14
0
 def serialize(self, authority):
     return jsonify(authority)
Example #15
0
 def encode(self, data):
     """
     Serializes ``data`` into a raw string.
     """
     return base64.b64encode(zlib.compress(jsonify(data).encode('utf8')))
Example #16
0
 def serialize(self, authentication):
     return jsonify(authentication)