Пример #1
0
    def typ(value):  # pylint: disable=missing-docstring,no-self-argument
        # pylint thinks isinstance(value, Error), so startswith is not found
        # pylint: disable=no-member
        if not value.startswith(Error.ERROR_TYPE_NAMESPACE):
            raise jose.DeserializationError('Missing error type prefix')

        without_prefix = value[len(Error.ERROR_TYPE_NAMESPACE):]
        if without_prefix not in Error.ERROR_TYPE_DESCRIPTIONS:
            raise jose.DeserializationError('Error type not recognized')

        return without_prefix
Пример #2
0
 def nonce(value):  # pylint: disable=missing-docstring,no-self-argument
     try:
         return jose.decode_b64jose(value)
     except jose.DeserializationError as error:
         # TODO: custom error
         raise jose.DeserializationError("Invalid nonce: {0}".format(error))
Пример #3
0
 def from_json(cls, value):
     if value not in cls.POSSIBLE_NAMES:
         raise jose.DeserializationError(
             '{0} not recognized'.format(cls.__name__))
     return cls.POSSIBLE_NAMES[value]
Пример #4
0
 def default_decoder(cls, value):
     try:
         return pyrfc3339.parse(value)
     except ValueError as error:
         raise jose.DeserializationError(error)
Пример #5
0
 def from_json(cls, jobj):
     try:
         return cls(jobj)
     except ValueError as error:
         raise jose.DeserializationError(str(error))
Пример #6
0
 def decode(self, value):
     if value != self.resource_type:
         raise jose.DeserializationError(
             'Wrong resource type: {0} instead of {1}'.format(
                 value, self.resource_type))
     return value
Пример #7
0
 def decode(self, value):
     if value != self.value:
         raise jose.DeserializationError('Expected {0!r}'.format(self.value))
     return self.value
Пример #8
0
 def from_json(cls, jobj):
     jobj['meta'] = cls.Meta.from_json(jobj.pop('meta', {}))
     try:
         return cls(jobj)
     except ValueError as error:
         raise jose.DeserializationError(str(error))