getContainerArchive method

Future<ContainerArchiveGetResult> getContainerArchive(
  1. String container, {
  2. required String path,
  3. Map<String, String> rename = const <String, String>{},
  4. Duration? timeout,
})

Copies a container path as a tar archive.

Implementation

Future<ContainerArchiveGetResult> getContainerArchive(
  String container, {
  required String path,
  Map<String, String> rename = const <String, String>{},
  Duration? timeout,
}) async {
  final response = await _send(
    method: HttpMethod.get,
    path: '/containers/${_encodePath(container)}/archive',
    queryParameters: <String, List<String>>{
      'path': <String>[path],
      if (rename.isNotEmpty) 'rename': <String>[jsonEncode(rename)],
    },
    expectedStatusCodes: const <int>{200},
    timeout: timeout,
  );

  return ContainerArchiveGetResult(
    archiveBytes: response.bodyBytes,
    pathStatHeader: _firstHeaderValue(
      response.headers,
      'X-Docker-Container-Path-Stat',
    ),
    headers: response.headers,
  );
}