createRoute method
POST /accounts/projects/{project_id}/routes Body: { "domain", "room_name" } Returns {} on success.
Implementation
Future<void> createRoute({
required String projectId,
RouteSpec? spec,
String? domain,
String? roomName,
String? port,
Map<String, String> annotations = const {},
}) async {
spec ??= RouteSpec(
metadata: RouteMetadata(name: domain!, annotations: annotations),
domain: domain,
backend: RouteBackend(room: RouteBackendTarget(name: roomName!)),
paths: [RoutePath(targetPort: port!)],
);
final encodedProjectId = Uri.encodeComponent(projectId);
final uri = Uri.parse('$baseUrl/accounts/projects/$encodedProjectId/routes');
final body = {'spec': spec.toJson()};
final response = await httpClient.post(uri, body: jsonEncode(body));
if (response.statusCode >= 400) {
throw MeshagentException(
'Failed to create domain. '
'Status code: ${response.statusCode}, body: ${response.body}',
);
}
}