Exemple #1
0
 private string[] CleanRequestHeader(string name)
 {
     string[] original = _request.GetHeaderUnmodified(name);
     if (original != null)
     {
         var  tacking  = new Tacking();
         bool modified = false;
         foreach (var segment in new HeaderSegmentCollection(original))
         {
             if (segment.Data.HasValue)
             {
                 if (segment.Data.EndsWith(_encodingSuffixQuote, StringComparison.Ordinal))
                 {
                     modified = true;
                     if (!tacking.IsEmpty)
                     {
                         tacking.Add(CommaSegment);
                     }
                     tacking.Add(segment.Data.Subsegment(0, segment.Data.Count - _encodingSuffixQuote.Length));
                     tacking.Add(QuoteSegment);
                 }
                 else if (segment.Data.EndsWith(_encodingSuffix, StringComparison.Ordinal))
                 {
                     modified = true;
                     if (!tacking.IsEmpty)
                     {
                         tacking.Add(CommaSegment);
                     }
                     tacking.Add(segment.Data.Subsegment(0, segment.Data.Count - _encodingSuffix.Length));
                 }
                 else
                 {
                     if (!tacking.IsEmpty)
                     {
                         tacking.Add(CommaSegment);
                     }
                     tacking.Add(segment.Data);
                 }
             }
         }
         if (modified)
         {
             _request.SetHeader(name, tacking.BuildString());
             return(original);
         }
     }
     return(null);
 }
 private string[] CleanRequestHeader(string name)
 {
     string[] original = _request.GetHeaderUnmodified(name);
     if (original != null)
     {
         var tacking = new Tacking();
         bool modified = false;
         foreach (var segment in new HeaderSegmentCollection(original))
         {
             if (segment.Data.HasValue)
             {
                 if (segment.Data.EndsWith(_encodingSuffixQuote, StringComparison.Ordinal))
                 {
                     modified = true;
                     if (!tacking.IsEmpty)
                     {
                         tacking.Add(CommaSegment);
                     }
                     tacking.Add(segment.Data.Subsegment(0, segment.Data.Count - _encodingSuffixQuote.Length));
                     tacking.Add(QuoteSegment);
                 }
                 else if (segment.Data.EndsWith(_encodingSuffix, StringComparison.Ordinal))
                 {
                     modified = true;
                     if (!tacking.IsEmpty)
                     {
                         tacking.Add(CommaSegment);
                     }
                     tacking.Add(segment.Data.Subsegment(0, segment.Data.Count - _encodingSuffix.Length));
                 }
                 else
                 {
                     if (!tacking.IsEmpty)
                     {
                         tacking.Add(CommaSegment);
                     }
                     tacking.Add(segment.Data);
                 }
             }
         }
         if (modified)
         {
             _request.SetHeader(name, tacking.BuildString());
             return original;
         }
     }
     return null;
 }