@Override protected Void execute0(StatsCmd command, ResultCallback<Statistics> resultCallback) { WebTarget webTarget = getBaseResource().path("/containers/{id}/stats").resolveTemplate("id", command.getContainerId()); LOGGER.trace("GET: {}", webTarget); webTarget.request().get(new TypeReference<Statistics>() { }, resultCallback); return null; } }
@Override protected List<SearchItem> execute(SearchImagesCmd command) { WebTarget webResource = getBaseResource().path("/images/search").queryParam("term", command.getTerm()); LOGGER.trace("GET: {}", webResource); return webResource.request().accept(MediaType.APPLICATION_JSON).get(new TypeReference<List<SearchItem>>() { }); }
@Override protected Void execute(CopyArchiveToContainerCmd command) { WebTarget webResource = getBaseResource().path("/containers/{id}/archive").resolveTemplate("id", command.getContainerId()); LOGGER.trace("PUT: " + webResource.toString()); InputStream streamToUpload = command.getTarInputStream(); webResource.queryParam("path", command.getRemotePath()) .queryParam("noOverwriteDirNonDir", command.isNoOverwriteDirNonDir()).request() .put(streamToUpload, MediaType.APPLICATION_X_TAR); return null; } }
WebTarget webTarget = getBaseResource().path("/build"); String dockerFilePath = command.getPathToDockerfile(); webTarget = webTarget.queryParam("dockerfile", dockerFilePath); webTarget = webTarget.queryParamsSet("t", command.getTags()); } else if (isNotBlank(command.getTag())) { webTarget = webTarget.queryParam("t", command.getTag()); webTarget = webTarget.queryParam("cachefrom", jsonEncode(command.getCacheFrom())); webTarget = webTarget.queryParam("remote", command.getRemote().toString()); webTarget = webTarget.queryParam("rm", "false"); webTarget = webTarget.queryParam("memory", command.getMemory()); webTarget = webTarget.queryParam("memswap", command.getMemswap()); webTarget = webTarget.queryParam("cpushares", command.getCpushares()); webTarget = webTarget.queryParam("cpusetcpus", command.getCpusetcpus()); webTarget = webTarget.queryParamsJsonMap("buildargs", command.getBuildArgs()); webTarget = webTarget.queryParam("shmsize", command.getShmsize()); webTarget = webTarget.queryParamsJsonMap("labels", command.getLabels());
protected WebTarget booleanQueryParam(WebTarget webTarget, String name, Boolean value) { if (bool(value)) { webTarget = webTarget.queryParam(name, bool(value) + ""); } return webTarget; }
@Override protected InputStream execute(CopyArchiveFromContainerCmd command) { WebTarget webResource = getBaseResource().path("/containers/{id}/archive").resolveTemplate("id", command.getContainerId()); LOGGER.trace("Get: " + webResource.toString()); return webResource.queryParam("path", command.getResource()).request().accept(MediaType.APPLICATION_X_TAR) .get(); } }
WebTarget webTarget = getBaseResource().path("/build"); String dockerFilePath = command.getPathToDockerfile(); webTarget = webTarget.queryParam("dockerfile", dockerFilePath); webTarget = webTarget.queryParamsSet("t", command.getTags()); } else if (isNotBlank(command.getTag())) { webTarget = webTarget.queryParam("t", command.getTag()); webTarget = webTarget.queryParam("cachefrom", jsonEncode(command.getCacheFrom())); webTarget = webTarget.queryParam("remote", command.getRemote().toString()); webTarget = webTarget.queryParam("rm", "false"); webTarget = webTarget.queryParam("memory", command.getMemory()); webTarget = webTarget.queryParam("memswap", command.getMemswap()); webTarget = webTarget.queryParam("cpushares", command.getCpushares()); webTarget = webTarget.queryParam("cpusetcpus", command.getCpusetcpus()); webTarget = webTarget.queryParamsJsonMap("buildargs", command.getBuildArgs()); webTarget = webTarget.queryParam("shmsize", command.getShmsize()); webTarget = webTarget.queryParamsJsonMap("labels", command.getLabels());
protected WebTarget booleanQueryParam(WebTarget webTarget, String name, Boolean value) { if (bool(value)) { webTarget = webTarget.queryParam(name, bool(value) + ""); } return webTarget; }
@Override protected InputStream execute(CopyFileFromContainerCmd command) { WebTarget webResource = getBaseResource().path("/containers/{id}/copy").resolveTemplate("id", command.getContainerId()); LOGGER.trace("POST: " + webResource.toString()); return webResource.request().accept(MediaType.APPLICATION_OCTET_STREAM) .post(command); }
@Override protected CreateImageResponse execute(CreateImageCmd command) { WebTarget webResource = getBaseResource().path("/images/create").queryParam("repo", command.getRepository()) .queryParam("tag", command.getTag()).queryParam("fromSrc", "-"); if (command.getPlatform() != null) { webResource = webResource.queryParam("platform", command.getPlatform()); } LOGGER.trace("POST: {}", webResource); return webResource.request().accept(MediaType.APPLICATION_OCTET_STREAM) .post(new TypeReference<CreateImageResponse>() { }, command.getImageStream()); } }
@Override protected Void execute(RenameContainerCmd command) { WebTarget webResource = getBaseResource().path("/containers/{id}/rename") .resolveTemplate("id", command.getContainerId()) .queryParam("name", command.getName()); LOG.trace("POST: {}", webResource); webResource.request().accept(MediaType.APPLICATION_JSON).post(null); return null; } }
@Override protected UpdateContainerResponse execute(UpdateContainerCmd command) { WebTarget webResource = getBaseResource().path("/containers/{id}/update") .resolveTemplate("id", command.getContainerId()); LOGGER.trace("POST: {}", webResource); return webResource.request().accept(MediaType.APPLICATION_JSON) .post(command, new TypeReference<UpdateContainerResponse>() { }); } }
@Override protected String execute(CommitCmd command) { WebTarget webTarget = getBaseResource().path("/commit").queryParam("container", command.getContainerId()) .queryParam("repo", command.getRepository()).queryParam("tag", command.getTag()) .queryParam("m", command.getMessage()).queryParam("author", command.getAuthor()); webTarget = booleanQueryParam(webTarget, "pause", command.hasPauseEnabled()); LOGGER.trace("POST: {}", webTarget); ObjectNode objectNode = webTarget.request().accept(MediaType.APPLICATION_JSON) .post(command, new TypeReference<ObjectNode>() { }); return objectNode.get("Id").asText(); }
@Override protected TopContainerResponse execute(TopContainerCmd command) { WebTarget webResource = getBaseResource().path("/containers/{id}/top").resolveTemplate("id", command.getContainerId()); if (!StringUtils.isEmpty(command.getPsArgs())) { webResource = webResource.queryParam("ps_args", command.getPsArgs()); } LOGGER.trace("GET: {}", webResource); return webResource.request().accept(MediaType.APPLICATION_JSON).get(new TypeReference<TopContainerResponse>() { }); }
@Override protected InspectExecResponse execute(InspectExecCmd command) { WebTarget webResource = getBaseResource().path("/exec/{id}/json").resolveTemplate("id", command.getExecId()); LOGGER.debug("GET: {}", webResource); return webResource.request().accept(MediaType.APPLICATION_JSON).get(new TypeReference<InspectExecResponse>() { }); } }
@Override protected Void execute(TagImageCmd command) { WebTarget webTarget = getBaseResource().path("/images/" + command.getImageId() + "/tag") .queryParam("repo", command.getRepository()).queryParam("tag", command.getTag()); webTarget = booleanQueryParam(webTarget, "force", command.hasForceEnabled()); LOGGER.trace("POST: {}", webTarget); webTarget.request().post(null); return null; }