docs: def get_asn_http(self, retry_count=3):
          """
          The function for retrieving ASN information for an IP address from
          Arin via port 80 (HTTP). Currently limited to fetching asn_registry
          through a Arin whois (REST) lookup. The other values are returned as
          None to keep a consistent dict output. This should be used as a last
          chance fallback call behind ASN DNS & ASN Whois lookups.
  
          Args:
              retry_count (:obj:`int`): The number of times to retry in case
                  socket errors, timeouts, connection resets, etc. are
                  encountered. Defaults to 3.
  
          Returns:
              dict: The ASN data in json format.
  
          Raises:
              ASNLookupError: The ASN lookup failed.
          """
  
          try:
  
              # Lets attempt to get the ASN registry information from
              # ARIN.
              log.debug('ASN query for {0}'.format(self.address_str))
              response = self.get_http_json(
                  url=str(ARIN).format(self.address_str),
                  retry_count=retry_count,
                  headers={'Accept': 'application/json'}
                  )
  
              return response
  
          except (socket.timeout, socket.error) as e:  # pragma: no cover
  
              log.debug('ASN query socket error: {0}'.format(e))
              if retry_count > 0:
  
                  log.debug('ASN query retrying (count: {0})'.format(
                      str(retry_count)))
                  return self.get_asn_http(retry_count=retry_count-1)
  
              else:
  
                  raise ASNLookupError(
                      'ASN lookup failed for {0}.'.format(self.address_str)
                  )
  
          except:
  
              raise ASNLookupError(
                  'ASN lookup failed for {0}.'.format(self.address_str)
              )