public async Task <SynchronizationReport> UpdateMetadataAsync(string fileName, RavenJObject metadata, FileSystemInfo sourceFileSystem) { using (var request = RequestFactory.CreateHttpJsonRequest(new CreateHttpJsonRequestParams(this, baseUrl + "/synchronization/UpdateMetadata/" + Uri.EscapeDataString(fileName), HttpMethod.Post, Credentials, Conventions)).AddOperationHeaders(OperationsHeaders)) { request.AddHeaders(metadata); request.AddHeader(SyncingMultipartConstants.SourceFileSystemInfo, sourceFileSystem.AsJson()); AsyncFilesServerClientExtension.AddEtagHeader(request, Etag.Parse(metadata.Value <string>(Constants.MetadataEtagField))); try { var response = (RavenJObject)await request.ReadResponseJsonAsync().ConfigureAwait(false); return(response.JsonDeserialization <SynchronizationReport>()); } catch (ErrorResponseException exception) { throw exception.SimplifyException(); } } }
public async Task DownloadSignatureAsync(string sigName, Stream destination, long?from = null, long?to = null) { var stream = await AsyncFilesServerClientExtension.DownloadAsyncImpl(this, RequestFactory, Conventions, OperationsHeaders, "/rdc/signatures/", sigName, null, from, to, BaseUrl, Credentials).ConfigureAwait(false); await stream.CopyToAsync(destination).ConfigureAwait(false); }
public Task <RavenJObject> GetMetadataForAsync(string fileName) { return(AsyncFilesServerClientExtension.GetMetadataForAsyncImpl(this, RequestFactory, Conventions, OperationsHeaders, fileName, baseUrl, Credentials)); }