getVersions method
Gets the versions of the specification supported by the server.
Values will take the form vX.Y
or rX.Y.Z
in historical cases. See
the Specification Versioning for more
information.
The server may additionally advertise experimental features it supports
through unstable_features
. These features should be namespaced and
may optionally include version information within their name if desired.
Features listed here are not for optionally toggling parts of the SDN
specification and should only be used to advertise support for a feature
which has not yet landed in the spec. For example, a feature currently
undergoing the proposal process may appear here and eventually be taken
off this list once the feature lands in the spec and the server deems it
reasonable to do so. Servers may wish to keep advertising features here
after they've been released into the spec to give clients a chance to
upgrade appropriately. Additionally, clients should avoid using unstable
features in their stable releases.
Implementation
Future<GetVersionsResponse> getVersions() async {
final requestUri = Uri(path: '_api/client/versions');
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 GetVersionsResponse.fromJson(json as Map<String, Object?>);
}