docs: def fetch(self, station: str) -> str:
          """
          Fetches a report string from the service
          """
          valid_station(station)
          try:
              resp = getattr(requests, self.method.lower())(self.url.format(self.rtype, station))
              if resp.status_code != 200:
                  raise SourceError(f'{self.__class__.__name__} server returned {resp.status_code}')
          except requests.exceptions.ConnectionError:
              raise ConnectionError(f'Unable to connect to {self.__class__.__name__} server')
          report = self._extract(resp.text, station)
          # This split join replaces all *whitespace elements with a single space
          return ' '.join(report.split())