Пример #1
0
        internal Request(IChannelOwner parent, string guid, RequestInitializer initializer) : base(parent, guid)
        {
            // TODO: Consider using a mapper between RequestInitiliazer and this object
            _channel       = new(guid, parent.Connection, this);
            _initializer   = initializer;
            RedirectedFrom = _initializer.RedirectedFrom;
            PostDataBuffer = _initializer.PostData;
            Timing         = new();

            if (RedirectedFrom != null)
            {
                _initializer.RedirectedFrom.RedirectedTo = this;
            }

            _headers = new RawHeaders(initializer.Headers.ConvertAll(x => new NameValueEntry(x.Name, x.Value)).ToArray());
        }
Пример #2
0
        internal Request(IChannelOwner parent, string guid, RequestInitializer initializer) : base(parent, guid)
        {
            _channel       = new RequestChannel(guid, parent.Connection, this);
            _initializer   = initializer;
            RedirectedFrom = _initializer.RedirectedFrom?.Object;
            PostDataBuffer = _initializer.PostData != null?Convert.FromBase64String(_initializer.PostData) : null;

            if (RedirectedFrom != null)
            {
                _initializer.RedirectedFrom.Object.RedirectedTo = this;
            }

            if (initializer.Headers != null)
            {
                foreach (var kv in initializer.Headers)
                {
                    Headers[kv.Name] = kv.Value;
                }
            }
        }
Пример #3
0
        internal Request(IChannelOwner parent, string guid, RequestInitializer initializer) : base(parent, guid)
        {
            // TODO: Consider using a mapper between RequestInitiliazer and this object
            _channel       = new RequestChannel(guid, parent.Connection, this);
            _initializer   = initializer;
            RedirectedFrom = _initializer.RedirectedFrom?.Object;
            PostDataBuffer = _initializer.PostData != null?Convert.FromBase64String(_initializer.PostData) : null;

            Timing = new RequestTimingResult();

            if (RedirectedFrom != null)
            {
                _initializer.RedirectedFrom.Object.RedirectedTo = this;
            }

            if (initializer.Headers != null)
            {
                Headers = initializer.Headers.Select(x => new KeyValuePair <string, string>(x.Name, x.Value)).ToArray();
            }
            else
            {
                Headers = Array.Empty <KeyValuePair <string, string> >();
            }
        }
Пример #4
0
 internal Request(ConnectionScope scope, string guid, RequestInitializer initializer)
 {
     _scope   = scope;
     _channel = new RequestChannel(guid, scope, this);
 }