func shouldDownloadFile(localFilePath, md5, sha1 string) (bool, error) { exists, err := ioutils.IsFileExists(localFilePath) if err != nil { return false, err } if !exists { return true, nil } localFileDetails, err := ioutils.GetFileDetails(localFilePath) if err != nil { return false, err } if localFileDetails.Md5 != md5 || localFileDetails.Sha1 != sha1 { return true, nil } return false, nil }
func shouldDownloadFile(localFilePath string, remoteFileDetails *ioutils.FileDetails) (bool, error) { exists, err := ioutils.IsFileExists(localFilePath) if err != nil { return false, err } if !exists { return true, nil } localFileDetails, err := ioutils.GetFileDetails(localFilePath) if err != nil { return false, err } if localFileDetails.Sha1 != remoteFileDetails.Sha1 { return true, nil } return false, nil }
func UploadFile(f *os.File, url string, artifactoryDetails *config.ArtifactoryDetails, details *ioutils.FileDetails, httpClientsDetails ioutils.HttpClientDetails) (*http.Response, []byte, error) { var err error if details == nil { details, err = ioutils.GetFileDetails(f.Name()) } if err != nil { return nil, nil, err } headers := map[string]string{ "X-Checksum-Sha1": details.Sha1, "X-Checksum-Md5": details.Md5, } AddAuthHeaders(headers, artifactoryDetails) requestClientDetails := httpClientsDetails.Clone() cliutils.MergeMaps(headers, requestClientDetails.Headers) return ioutils.UploadFile(f, url, *requestClientDetails) }