async _get(rawUrl, query) {
    const url = this._normalizeURL(rawUrl);
    if (query) {
      for (const [key, value] of Object.entries(query)) {
        if (value === undefined) continue;
        url.searchParams.append(key, value.toString());
      }
    }

    const response = await this._fetch(url.href, {headers: {...this._extraHeaders}});
    return this._convertFetchResponseToReturnValue(response);
  }
@template {string} T
@param {string} rawUrl
@param {Partial<Record<T, string|number|boolean|undefined>>} [query]
@return {Promise<any>}