|  |  | 1 |  | // Copyright (c) Microsoft Corporation. All rights reserved. | 
|  |  | 2 |  | // Licensed under the MIT License. | 
|  |  | 3 |  |  | 
|  |  | 4 |  | using System; | 
|  |  | 5 |  | using System.ComponentModel; | 
|  |  | 6 |  |  | 
|  |  | 7 |  | namespace Azure.Storage.Blobs.Models | 
|  |  | 8 |  | { | 
|  |  | 9 |  |     /// <summary> | 
|  |  | 10 |  |     /// Standard HTTP properties supported by containers and blobs. | 
|  |  | 11 |  |     /// These properties are represented as standard HTTP headers use standard | 
|  |  | 12 |  |     /// names, as specified in the Header Field Definitions section 14 of the | 
|  |  | 13 |  |     /// HTTP/1.1 protocol specification. | 
|  |  | 14 |  |     /// | 
|  |  | 15 |  |     /// For more information, see | 
|  |  | 16 |  |     /// <see href="https://docs.microsoft.com/en-us/rest/api/storageservices/setting-and-retrieving-properties-and-metad | 
|  |  | 17 |  |     /// Setting and retrieving properties and metadata for Blob service resources</see>. | 
|  |  | 18 |  |     /// </summary> | 
|  |  | 19 |  |     public class BlobHttpHeaders | 
|  |  | 20 |  |     { | 
|  |  | 21 |  |         /// <summary> | 
|  |  | 22 |  |         /// The MIME content type of the blob. | 
|  |  | 23 |  |         /// </summary> | 
|  | 296 | 24 |  |         public string ContentType { get; set; } | 
|  |  | 25 |  |  | 
|  |  | 26 |  | #pragma warning disable CA1819 // Properties should not return arrays | 
|  |  | 27 |  |         /// <summary> | 
|  |  | 28 |  |         /// An MD5 hash of the blob content. This hash is used to verify the | 
|  |  | 29 |  |         /// integrity of the blob during transport.  When this header is | 
|  |  | 30 |  |         /// specified, the storage service checks the hash that has arrived | 
|  |  | 31 |  |         /// with the one that was sent. If the two hashes do not match, the | 
|  |  | 32 |  |         /// operation will fail with error code 400 (Bad Request). | 
|  |  | 33 |  |         /// </summary> | 
|  | 300 | 34 |  |         public byte[] ContentHash { get; set; } | 
|  |  | 35 |  |  | 
|  |  | 36 |  |         /// <summary> | 
|  |  | 37 |  |         /// Specifies which content encodings have been applied to the blob. | 
|  |  | 38 |  |         /// This value is returned to the client when the Get Blob operation | 
|  |  | 39 |  |         /// is performed on the blob resource. The client can use this value | 
|  |  | 40 |  |         /// when returned to decode the blob content. | 
|  |  | 41 |  |         /// </summary> | 
|  | 314 | 42 |  |         public string ContentEncoding { get; set; } | 
|  |  | 43 |  |  | 
|  |  | 44 |  |         /// <summary> | 
|  |  | 45 |  |         /// Specifies the natural languages used by this resource. | 
|  |  | 46 |  |         /// </summary> | 
|  | 312 | 47 |  |         public string ContentLanguage { get; set; } | 
|  |  | 48 |  | #pragma warning restore CA1819 // Properties should not return arrays | 
|  |  | 49 |  |  | 
|  |  | 50 |  |         /// <summary> | 
|  |  | 51 |  |         /// Conveys additional information about how to process the response | 
|  |  | 52 |  |         /// payload, and also can be used to attach additional metadata.  For | 
|  |  | 53 |  |         /// example, if set to attachment, it indicates that the user-agent | 
|  |  | 54 |  |         /// should not display the response, but instead show a Save As dialog | 
|  |  | 55 |  |         /// with a filename other than the blob name specified. | 
|  |  | 56 |  |         /// </summary> | 
|  | 300 | 57 |  |         public string ContentDisposition { get; set; } | 
|  |  | 58 |  |  | 
|  |  | 59 |  |         /// <summary> | 
|  |  | 60 |  |         /// Specify directives for caching mechanisms. | 
|  |  | 61 |  |         /// </summary> | 
|  | 302 | 62 |  |         public string CacheControl { get; set; } | 
|  |  | 63 |  |  | 
|  |  | 64 |  |         /// <summary> | 
|  |  | 65 |  |         /// Creates a string representation of a | 
|  |  | 66 |  |         /// <see cref="BlobHttpHeaders"/>. | 
|  |  | 67 |  |         /// </summary> | 
|  |  | 68 |  |         [EditorBrowsable(EditorBrowsableState.Never)] | 
|  | 0 | 69 |  |         public override string ToString() => base.ToString(); | 
|  |  | 70 |  |  | 
|  |  | 71 |  |         /// <summary> | 
|  |  | 72 |  |         /// Check if two <see cref="BlobHttpHeaders"/> instances are equal. | 
|  |  | 73 |  |         /// </summary> | 
|  |  | 74 |  |         /// <param name="obj">The instance to compare to.</param> | 
|  |  | 75 |  |         /// <returns>True if they're equal, false otherwise.</returns> | 
|  |  | 76 |  |         [EditorBrowsable(EditorBrowsableState.Never)] | 
|  | 0 | 77 |  |         public override bool Equals(object obj) => base.Equals(obj); | 
|  |  | 78 |  |  | 
|  |  | 79 |  |         /// <summary> | 
|  |  | 80 |  |         /// Get a hash code for the <see cref="BlobHttpHeaders"/>. | 
|  |  | 81 |  |         /// </summary> | 
|  |  | 82 |  |         /// <returns>Hash code for the <see cref="BlobHttpHeaders"/>.</returns> | 
|  |  | 83 |  |         [EditorBrowsable(EditorBrowsableState.Never)] | 
|  | 0 | 84 |  |         public override int GetHashCode() => base.GetHashCode(); | 
|  |  | 85 |  |     } | 
|  |  | 86 |  | } |