func MakeDirectory(apiClient pfs.ApiClient, repoName string, commitID string, path string) (retErr error) { putFileClient, err := apiClient.PutFile(context.Background()) if err != nil { return err } defer func() { if _, err := putFileClient.CloseAndRecv(); err != nil && retErr != nil { retErr = err } }() return putFileClient.Send( &pfs.PutFileRequest{ File: &pfs.File{ Commit: &pfs.Commit{ Repo: &pfs.Repo{ Name: repoName, }, Id: commitID, }, Path: path, }, FileType: pfs.FileType_FILE_TYPE_DIR, }, ) }
func PutFile(apiClient pfs.ApiClient, repoName string, commitID string, path string, offset int64, reader io.Reader) (_ int, retErr error) { putFileClient, err := apiClient.PutFile(context.Background()) if err != nil { return 0, err } defer func() { if _, err := putFileClient.CloseAndRecv(); err != nil && retErr != nil { retErr = err } }() request := pfs.PutFileRequest{ File: &pfs.File{ Commit: &pfs.Commit{ Repo: &pfs.Repo{ Name: repoName, }, Id: commitID, }, Path: path, }, FileType: pfs.FileType_FILE_TYPE_REGULAR, OffsetBytes: offset, } var size int for { value := make([]byte, chunkSize) iSize, err := reader.Read(value) request.Value = value[0:iSize] if err != nil { if err == io.EOF { break } return 0, err } size += iSize protolog.Printf("pfsutil.PutFile Send(%+v)", request) if err := putFileClient.Send(&request); err != nil { return 0, err } } if err != nil && err != io.EOF { return 0, err } return size, err }
func PutFile(apiClient pfs.ApiClient, repositoryName string, commitID string, path string, reader io.Reader) error { value, err := ioutil.ReadAll(reader) if err != nil { return err } _, err = apiClient.PutFile( context.Background(), &pfs.PutFileRequest{ Path: &pfs.Path{ Commit: &pfs.Commit{ Repository: &pfs.Repository{ Name: repositoryName, }, Id: commitID, }, Path: path, }, Value: value, }, ) return err }
func PutFile(apiClient pfs.ApiClient, repositoryName string, commitID string, path string, offset int64, reader io.Reader) (int64, error) { value, err := ioutil.ReadAll(reader) if err != nil { return 0, err } _, err = apiClient.PutFile( context.Background(), &pfs.PutFileRequest{ Path: &pfs.Path{ Commit: &pfs.Commit{ Repository: &pfs.Repository{ Name: repositoryName, }, Id: commitID, }, Path: path, }, OffsetBytes: offset, Value: value, }, ) return int64(len(value)), err }