async getEndpoint(url) {
        try {
            const response = await this.#externalRequest(url.href, {
                throwHttpErrors: true,
                followRedirect: true,
                maxRedirects: 10,
                timeout: 15000,
                retry: {
                    // Only retry on network issues, or specific HTTP status codes
                    limit: 3
                }
            });
            return this.getEndpointFromResponse(response);
        } catch (error) {
            logging.error(`Error fetching ${url.href} to discover webmention endpoint`, error);
            return null;
        }
    }
Fetches the given URL to identify the webmention endpoint
@param {URL} url
@returns {Promise<URL|null>}