code: def parse_fields_whois(self, response):
          
  
          try:
  
              temp = response.split('|')
  
              # Parse out the ASN information.
              ret = {'asn_registry': temp[4].strip(' \n')}
  
              if ret['asn_registry'] not in self.rir_whois.keys():
  
                  raise ASNRegistryError(
                      'ASN registry {0} is not known.'.format(
                          ret['asn_registry'])
                  )
  
              ret['asn'] = temp[0].strip(' \n')
              ret['asn_cidr'] = temp[2].strip(' \n')
              ret['asn_country_code'] = temp[3].strip(' \n').upper()
              ret['asn_date'] = temp[5].strip(' \n')
              ret['asn_description'] = temp[6].strip(' \n')
  
          except ASNRegistryError:
  
              raise
  
          except Exception as e:
  
              raise ASNParseError('Parsing failed for "{0}" with exception: {1}.'
                                  ''.format(response, e)[:100])
  
          return ret
docs: The function for parsing ASN fields from a whois response.
  
          Args:
              response (:obj:`str`): The response from the ASN whois server.
  
          Returns:
              dict: The ASN lookup results
  
              ::
  
                  {
                      'asn' (str) - The Autonomous System Number
                      'asn_date' (str) - The ASN Allocation date
                      'asn_registry' (str) - The assigned ASN registry
                      'asn_cidr' (str) - The assigned ASN CIDR
                      'asn_country_code' (str) - The assigned ASN country code
                      'asn_description' (str) - The ASN description
                  }
  
          Raises:
              ASNRegistryError: The ASN registry is not known.
              ASNParseError: ASN parsing failed.