getWellknown method
Gets discovery information about the domain. The file may include
additional keys, which MUST follow the Java package naming convention,
e.g. com.example.myapp.property. This ensures property names are
suitably namespaced for each application and reduces the risk of
clashes.
NOTE:
This endpoint should be accessed with the hostname of the homeserver's
server name by making a
GET request to https://hostname/.well-known/matrix/client.
Note that this endpoint is not necessarily handled by the homeserver, but by another webserver, to be used for discovering the homeserver URL.
Implementation
Future<DiscoveryInformation> getWellknown() async {
  final requestUri = Uri(path: '.well-known/matrix/client');
  final request = Request('GET', baseUri!.resolveUri(requestUri));
  final response = await httpClient.send(request);
  final responseBody = await response.stream.toBytes();
  if (response.statusCode != 200) unexpectedResponse(response, responseBody);
  final responseString = utf8.decode(responseBody);
  final json = jsonDecode(responseString);
  return DiscoveryInformation.fromJson(json as Map<String, Object?>);
}