/// <summary> /// Serializes the object to JSON. /// </summary> /// <param name="writer">The <see cref="T: Newtonsoft.Json.JsonWriter" /> to write to.</param> /// <param name="obj">The object to serialize to JSON.</param> internal static void Serialize(JsonWriter writer, ImageStoreContent obj) { // Required properties are always serialized, optional properties are serialized when not null. writer.WriteStartObject(); if (obj.StoreFiles != null) { writer.WriteEnumerableProperty(obj.StoreFiles, "StoreFiles", FileInfoConverter.Serialize); } if (obj.StoreFolders != null) { writer.WriteEnumerableProperty(obj.StoreFolders, "StoreFolders", FolderInfoConverter.Serialize); } writer.WriteEndObject(); }
/// <summary> /// List all blobs under the the given relative blob path/sub blob path /// </summary> /// <param name="tag">Location (relative to RootUri)</param> /// <param name="isRecursive">flag list subhierarchy</param> /// <param name="timeout">The timeout for performing the listing operation</param> /// <returns>All blobs within the input blob path/sub blob path</returns> public ImageStoreContent ListContentWithDetails(string tag, bool isRecursive, TimeSpan timeout) { ImageStoreContent content = null; TimeoutHelper helper = timeout == TimeSpan.MaxValue ? null : new TimeoutHelper(timeout); try { using (XStoreFileOperations xstoreFileOperation = new XStoreFileOperations(new XStoreParameters(this.providerParams.ConnectionString, this.providerParams.SecondaryConnectionString, this.providerParams.ContainerName))) { content = xstoreFileOperation.ListXStoreFile(XStoreCommon.FormatXStoreUri(tag), isRecursive, helper); } } catch (Exception ex) { this.HandleException(ex); throw; } return(content); }