Exemplo n.º 1
0
        public void Initialize(IDictionary <string, StringValues> headers)
        {
            _headersEnumerator  = default;
            _trailersEnumerator = default;
            _genericEnumerator  = headers.GetEnumerator();
            _isTrailers         = false;

            _stringValuesEnumerator = default;
            Current = default;
        }
Exemplo n.º 2
0
        public void Initialize(HttpResponseTrailers headers)
        {
            _headersEnumerator  = default;
            _trailersEnumerator = headers.GetEnumerator();
            _genericEnumerator  = null;
            _isTrailers         = true;

            _stringValuesEnumerator = default;
            Current = default;
        }
Exemplo n.º 3
0
 public void Reset()
 {
     if (_genericEnumerator != null)
     {
         _genericEnumerator.Reset();
     }
     else if (_isTrailers)
     {
         _trailersEnumerator.Reset();
     }
     else
     {
         _headersEnumerator.Reset();
     }
     _stringValuesEnumerator = default;
 }
Exemplo n.º 4
0
 public void Reset()
 {
     if (_headersType == HeadersType.Headers)
     {
         _headersEnumerator.Reset();
     }
     else if (_headersType == HeadersType.Trailers)
     {
         _trailersEnumerator.Reset();
     }
     else
     {
         _genericEnumerator !.Reset();
     }
     _stringValuesEnumerator = default;
     _knownHeaderType        = default;
 }
Exemplo n.º 5
0
        private bool SetCurrent(string name, StringValues value, KnownHeaderType knownHeaderType)
        {
            _knownHeaderType = knownHeaderType;

            if (value.Count == 1)
            {
                Current            = new KeyValuePair <string, string>(name, value.ToString());
                _hasMultipleValues = false;
                return(true);
            }
            else
            {
                _stringValuesEnumerator = value.GetEnumerator();
                _hasMultipleValues      = true;
                return(MoveNextOnStringEnumerator(name));
            }
        }
Exemplo n.º 6
0
 private bool TryGetNextStringEnumerator(out StringValues.Enumerator enumerator)
 {
     if (_genericEnumerator != null)
     {
         if (!_genericEnumerator.MoveNext())
         {
             enumerator = default;
             return(false);
         }
         else
         {
             enumerator      = _genericEnumerator.Current.Value.GetEnumerator();
             KnownHeaderType = default;
             return(true);
         }
     }
     else if (_isTrailers)
     {
         if (!_trailersEnumerator.MoveNext())
         {
             enumerator = default;
             return(false);
         }
         else
         {
             enumerator      = _trailersEnumerator.Current.Value.GetEnumerator();
             KnownHeaderType = _trailersEnumerator.CurrentKnownType;
             return(true);
         }
     }
     else
     {
         if (!_headersEnumerator.MoveNext())
         {
             enumerator = default;
             return(false);
         }
         else
         {
             enumerator      = _headersEnumerator.Current.Value.GetEnumerator();
             KnownHeaderType = _headersEnumerator.CurrentKnownType;
             return(true);
         }
     }
 }