Exemple #1
0
        public static AccessCondition CreateAccessCondition(this RequestHeaders requestHeaders, bool includeSequenceConditions = false)
        {
            var retval = AccessCondition.GenerateEmptyCondition();

            requestHeaders.SetAttributeFromRequest("If-Modified-Since", (DateTime modifiedDate) => retval.IfModifiedSinceTime      = modifiedDate);
            requestHeaders.SetAttributeFromRequest("If-Unmodified-Since", (DateTime modifiedDate) => retval.IfNotModifiedSinceTime = modifiedDate);
            requestHeaders.SetAttributeFromRequest("If-Match", (string eTag) => retval.IfMatchETag          = eTag);
            requestHeaders.SetAttributeFromRequest("If-None-Match", (string eTag) => retval.IfNoneMatchETag = eTag);
            requestHeaders.SetAttributeFromRequest("x-ms-lease-id", (string leaseId) => retval.LeaseId      = leaseId);
            if (includeSequenceConditions)
            {
                requestHeaders.SetAttributeFromRequest("x-ms-if-sequence-number-le", (long seqNo) => retval.IfSequenceNumberLessThanOrEqual = seqNo);
                requestHeaders.SetAttributeFromRequest("x-ms-if-sequence-number-lt", (long seqNo) => retval.IfSequenceNumberLessThan        = seqNo);
                requestHeaders.SetAttributeFromRequest("x-ms-if-sequence-number-eq", (long seqNo) => retval.IfSequenceNumberEqual           = seqNo);
            }
            return(retval);
        }