001package co.codewizards.cloudstore.rest.client.request; 002 003import static java.util.Objects.*; 004 005import javax.ws.rs.core.Response; 006 007import co.codewizards.cloudstore.core.dto.DateTime; 008 009public class EndPutFile extends VoidRequest { 010 011 protected final String repositoryName; 012 protected final String path; 013 protected final DateTime lastModified; 014 protected final long length; 015 protected final String sha1; 016 017 public EndPutFile(final String repositoryName, final String path, final DateTime lastModified, final long length, final String sha1) { 018 this.repositoryName = requireNonNull(repositoryName, "repositoryName"); 019 this.path = requireNonNull(path, "path"); 020 this.lastModified = requireNonNull(lastModified, "lastModified"); 021 this.length = length; 022 this.sha1 = sha1; 023 } 024 025 @Override 026 public Response _execute() { 027 return assignCredentials( 028 createWebTarget("_endPutFile", urlEncode(repositoryName), encodePath(path)) 029 .queryParam("lastModified", lastModified.toString()) 030 .queryParam("length", length) 031 .queryParam("sha1", sha1) 032 .request()).put(null); 033 } 034 035}