Beispiel #1
0
 def _get_value_for_special_type(self, shape, special_type_map):
     if is_json_value_header(shape):
         return special_type_map['jsonvalue_header']
     for special_type, marked_shape in self._context[
             'special_shape_types'].items():
         if special_type in special_type_map:
             if shape == marked_shape:
                 return special_type_map[special_type]
     return None
Beispiel #2
0
 def _convert_header_value(self, shape, value):
     if shape.type_name == 'timestamp':
         datetime_obj = parse_to_aware_datetime(value)
         timestamp = calendar.timegm(datetime_obj.utctimetuple())
         timestamp_format = shape.serialization.get(
             'timestampFormat', self.HEADER_TIMESTAMP_FORMAT)
         return self._convert_timestamp_to_str(timestamp, timestamp_format)
     elif is_json_value_header(shape):
         # Serialize with no spaces after separators to save space in
         # the header.
         return self._get_base64(json.dumps(value, separators=(',', ':')))
     else:
         return value
Beispiel #3
0
 def _check_special_validation_cases(self, shape):
     if is_json_value_header(shape):
         return self._validate_jsonvalue_string
 def _check_special_validation_cases(self, shape):
     if is_json_value_header(shape):
         return self._validate_jsonvalue_string
     if shape.type_name == 'structure' and shape.is_document_type:
         return self._validate_document
 def _handle_string(self, shape, value):
     parsed = value
     if is_json_value_header(shape):
         decoded = base64.b64decode(value).decode(self.DEFAULT_ENCODING)
         parsed = json.loads(decoded)
     return parsed