internal void Populate(IDictionary<string, string> headers)
{
if (Range != null && (Range[0] >= 0 || Range[1] >= 0))
{
var rangeHeaderValue = new StringBuilder();
rangeHeaderValue.Append("bytes=");
if (Range[0] >= 0)
rangeHeaderValue.Append(Range[0].ToString(CultureInfo.InvariantCulture));
rangeHeaderValue.Append("-");
if (Range[1] >= 0)
rangeHeaderValue.Append(Range[1].ToString(CultureInfo.InvariantCulture));
headers.Add(HttpHeaders.Range, rangeHeaderValue.ToString());
}
if (ModifiedSinceConstraint != null)
{
headers.Add(OssHeaders.GetObjectIfModifiedSince,
DateUtils.FormatRfc822Date(ModifiedSinceConstraint.Value));
}
if (UnmodifiedSinceConstraint != null)
{
headers.Add(OssHeaders.GetObjectIfUnmodifiedSince,
DateUtils.FormatRfc822Date(UnmodifiedSinceConstraint.Value));
}
if (_matchingETagConstraints.Count > 0)
{
headers.Add(OssHeaders.GetObjectIfMatch,
OssUtils.JoinETag(_matchingETagConstraints));
}
if (_nonmatchingEtagConstraints.Count > 0)
{
headers.Add(OssHeaders.GetObjectIfNoneMatch,
OssUtils.JoinETag(_nonmatchingEtagConstraints));
}
}