def METHOD_NAME(self):
    # auth session
    try:
        return self._open_url()
    except HTTPError as e:
        # I need the 500 because pydap re-raises HTTPError wihout setting the code
        if not (e.code != 400 or e.code != 300 or e.code != 500):
            raise e
        # Check Url (probably inefficient..., but worth a try to get authenticated)
        try:
            self.session.get(self.source + ".dds")
            return self._open_url()
        except HTTPError as e:
            if e.code != 400:
                raise e
            _logger.exception("Error opening PyDap url '%s'" % self.source)
            raise HTTPError("Could not open PyDap url '%s'.\nCheck login credentials." % self.source)