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()); }
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; } } }
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> >(); } }
internal Request(ConnectionScope scope, string guid, RequestInitializer initializer) { _scope = scope; _channel = new RequestChannel(guid, scope, this); }