code: def convert(input, type):
          
          try:
              if not input:
                  if type == Types.TYPE_STRING:
                      return ''
                  else:
                      return None
              if type == Types.TYPE_STRING:
                  if isinstance(input, datetime.date):
                      return input.strftime('%Y-%m-%d')
                  else:
                      return input
              if type == Types.TYPE_FLOAT:
                  return float(input)
              elif type == Types.TYPE_INT:
                  return int(input)
              elif type == Types.TYPE_DATE:
                  if isinstance(input, datetime.date):
                      return input
                  else:
                      return datetime.datetime.strptime(input[0:10], '%Y-%m-%d')
              elif type == Types.TYPE_DATETIME:
                  if isinstance(input, datetime.datetime):
                      return input
                  else:
                      return datetime.datetime.strptime(input[0:19], '%Y-%m-%dT%H:%M:%S') # 2017-10-01T10:01:00.479+0300
              else:
                  return NotImplementedError('Not supported type - {}'.format(type))
          except Exception as e:
              logging.error(e, exc_info=True)
              raise Exception(e)
docs: Converts input value to request type
          :param input: input value
          :param type: type to cast
          :return: converted value