public ServerWebSocketTransportDuplexSessionChannel(HttpContext httpContext, WebSocketContext webSocketContext, HttpTransportSettings settings, Uri localVia, IServiceProvider serviceProvider)
     : base(settings, new EndpointAddress(localVia), localVia)
 {
     _httpContext       = httpContext;
     _webSocketContext  = webSocketContext;
     _transportSettings = settings;
     _serviceProvider   = serviceProvider;
 }
 public WebSocketTransportDuplexSessionChannel(IHttpTransportFactorySettings settings, EndpointAddress localAddress, Uri localVia)
     : base(settings, localAddress, localVia, EndpointAddress.AnonymousAddress, settings.MessageVersion.Addressing.AnonymousUri)
 {
     Fx.Assert(settings.WebSocketSettings != null, "IHttpTransportFactorySettings.WebSocketTransportSettings should not be null.");
     WebSocketSettings        = settings.WebSocketSettings;
     TransferMode             = settings.TransferMode;
     MaxBufferSize            = settings.MaxBufferSize;
     TransportFactorySettings = settings;
 }
 public WebResponseHttpInput(HttpWebResponse httpWebResponse, IHttpTransportFactorySettings settings, System.Security.Authentication.ExtendedProtection.ChannelBinding channelBinding) : base(settings, false, channelBinding != null)
 {
     this.channelBinding  = channelBinding;
     this.httpWebResponse = httpWebResponse;
     if (this.httpWebResponse.ContentLength == -1L)
     {
         this.preReadBuffer = new byte[1];
         if (this.httpWebResponse.GetResponseStream().Read(this.preReadBuffer, 0, 1) == 0)
         {
             this.preReadBuffer = null;
         }
     }
 }
 protected HttpOutput(IHttpTransportFactorySettings settings, Message message, bool isRequest, bool supportsConcurrentIO)
 {
     this.settings = settings;
     this.message = message;
     this.isRequest = isRequest;
     this.bufferManager = settings.BufferManager;
     this.messageEncoder = settings.MessageEncoderFactory.Encoder;
     if (isRequest)
     {
         this.streamed = TransferModeHelper.IsRequestStreamed(settings.TransferMode);
     }
     else
     {
         this.streamed = TransferModeHelper.IsResponseStreamed(settings.TransferMode);
     }
     this.supportsConcurrentIO = supportsConcurrentIO;
 }
 public HostedRequestHttpOutput(HostedHttpRequestAsyncResult result, IHttpTransportFactorySettings settings, Message message, HostedHttpContext context) : base(settings, message, false, false)
 {
     this.result  = result;
     this.context = context;
     if (TransferModeHelper.IsResponseStreamed(settings.TransferMode))
     {
         result.SetTransferModeToStreaming();
     }
     if (message.IsFault)
     {
         this.statusCode = 500;
     }
     else
     {
         this.statusCode = 200;
     }
 }
 protected HttpInput(IHttpTransportFactorySettings settings, bool isRequest, bool enableChannelBinding)
 {
     this.settings = settings;
     this.bufferManager = settings.BufferManager;
     this.messageEncoder = settings.MessageEncoderFactory.Encoder;
     this.webException = null;
     this.isRequest = isRequest;
     this.inputStream = null;
     this.enableChannelBinding = enableChannelBinding;
     if (isRequest)
     {
         this.streamed = TransferModeHelper.IsRequestStreamed(settings.TransferMode);
     }
     else
     {
         this.streamed = TransferModeHelper.IsResponseStreamed(settings.TransferMode);
     }
 }
 protected HttpInput(IHttpTransportFactorySettings settings, bool isRequest, bool enableChannelBinding)
 {
     this.settings             = settings;
     this.bufferManager        = settings.BufferManager;
     this.messageEncoder       = settings.MessageEncoderFactory.Encoder;
     this.webException         = null;
     this.isRequest            = isRequest;
     this.inputStream          = null;
     this.enableChannelBinding = enableChannelBinding;
     if (isRequest)
     {
         this.streamed = TransferModeHelper.IsRequestStreamed(settings.TransferMode);
     }
     else
     {
         this.streamed = TransferModeHelper.IsResponseStreamed(settings.TransferMode);
     }
 }
Example #8
0
        protected HttpInput(IHttpTransportFactorySettings settings, bool isRequest, bool enableChannelBinding)
        {
            _settings = settings;
            _bufferManager = settings.BufferManager;
            _messageEncoder = settings.MessageEncoderFactory.Encoder;
            _httpRequestException = null;
            _isRequest = isRequest;
            _inputStream = null;
            _enableChannelBinding = enableChannelBinding;

            if (isRequest)
            {
                _streamed = TransferModeHelper.IsRequestStreamed(settings.TransferMode);
            }
            else
            {
                _streamed = TransferModeHelper.IsResponseStreamed(settings.TransferMode);
            }
        }
Example #9
0
            public HostedRequestHttpOutput(HostedHttpRequestAsyncResult result, IHttpTransportFactorySettings settings,
                                           Message message, HostedHttpContext context)
                : base(settings, message, false, false)
            {
                AspNetPartialTrustHelpers.FailIfInPartialTrustOutsideAspNet();

                this.result  = result;
                this.context = context;

                if (TransferModeHelper.IsResponseStreamed(settings.TransferMode))
                {
                    result.SetTransferModeToStreaming();
                }

                if (message.IsFault)
                {
                    this.statusCode = (int)HttpStatusCode.InternalServerError;
                }
                else
                {
                    this.statusCode = (int)HttpStatusCode.OK;
                }
            }
Example #10
0
 internal static HttpOutput CreateHttpOutput(HttpListenerResponse httpListenerResponse, IHttpTransportFactorySettings settings, Message message, string httpMethod)
 {
     return new ListenerResponseHttpOutput(httpListenerResponse, settings, message, httpMethod);
 }
Example #11
0
        protected HttpOutput(IHttpTransportFactorySettings settings, Message message, bool isRequest, bool supportsConcurrentIO)
        {
            this.settings = settings;
            this.message = message;
            this.isRequest = isRequest;
            this.bufferManager = settings.BufferManager;
            this.messageEncoder = settings.MessageEncoderFactory.Encoder;
            ICompressedMessageEncoder compressedMessageEncoder = this.messageEncoder as ICompressedMessageEncoder;
            this.canSendCompressedResponses = compressedMessageEncoder != null && compressedMessageEncoder.CompressionEnabled;
            if (isRequest)
            {
                this.streamed = TransferModeHelper.IsRequestStreamed(settings.TransferMode);
            }
            else
            {
                this.streamed = TransferModeHelper.IsResponseStreamed(settings.TransferMode);
            }
            this.supportsConcurrentIO = supportsConcurrentIO;

            if (FxTrace.Trace.IsEnd2EndActivityTracingEnabled)
            {
                this.eventTraceActivity = EventTraceActivityHelper.TryExtractActivity(message);
            }
        }
Example #12
0
 internal static HttpOutput CreateHttpOutput(HttpWebRequest httpWebRequest, IHttpTransportFactorySettings settings, Message message, bool enableChannelBindingSupport)
 {
     return new WebRequestHttpOutput(httpWebRequest, settings, message, enableChannelBindingSupport);
 }
Example #13
0
        //EventTraceActivity eventTraceActivity;
        //ServerWebSocketTransportDuplexSessionChannel webSocketChannel;

        protected HttpRequestContext(IHttpTransportFactorySettings settings, Message requestMessage)
            : base(requestMessage, settings.CloseTimeout, settings.SendTimeout)
        {
            HttpTransportSettings = settings;
            _replySentTcs         = new TaskCompletionSource <object>(TaskContinuationOptions.RunContinuationsAsynchronously);
        }
Example #14
0
 protected HttpOutput(IHttpTransportFactorySettings settings, Message message, bool isRequest)
 {
     _settings = settings;
     _message = message;
     _isRequest = isRequest;
     _bufferManager = settings.BufferManager;
     _messageEncoder = settings.MessageEncoderFactory.Encoder;
     if (isRequest)
     {
         _streamed = TransferModeHelper.IsRequestStreamed(settings.TransferMode);
     }
     else
     {
         _streamed = TransferModeHelper.IsResponseStreamed(settings.TransferMode);
     }
 }
Example #15
0
 public HttpRequestMessageHttpInput(HttpRequestMessage httpRequestMessage, IHttpTransportFactorySettings settings, bool enableChannelBinding, ChannelBinding channelBinding)
     : base(settings, true, enableChannelBinding)
 {
     this.httpRequestMessage = httpRequestMessage;
     this.channelBinding = channelBinding;
 }
Example #16
0
            public WebResponseHttpInput(HttpWebResponse httpWebResponse, IHttpTransportFactorySettings settings, ChannelBinding channelBinding)
                : base(settings, false, channelBinding != null)
            {
                this.channelBinding = channelBinding;
                this.httpWebResponse = httpWebResponse;
                if (this.httpWebResponse.ContentLength == -1)
                {
                    this.preReadBuffer = new byte[1];

                    if (this.httpWebResponse.GetResponseStream().Read(preReadBuffer, 0, 1) == 0)
                    {
                        this.preReadBuffer = null;
                    }
                }

                this.hasContent = (this.preReadBuffer != null || this.httpWebResponse.ContentLength > 0);
                if (!this.hasContent)
                {
                    // Close the response stream to avoid leaking the connection.
                    this.httpWebResponse.GetResponseStream().Close();
                }
            }
Example #17
0
 public HttpRequestMessageHttpOutput(HttpRequestMessage httpRequest, IHttpTransportFactorySettings settings, Message message, bool enableChannelBindingSupport, HttpClient httpClient, AuthenticationSchemes authenticationScheme, TimeoutHelper timeoutHelper)
     : base(settings, message, true, timeoutHelper)
 {
     _httpClient = httpClient;
     _httpRequest = httpRequest;
     _httpContent = new HttpRequestHttpContent(base._timeoutHelper.CancellationToken);
     _httpRequest.Content = _httpContent;
     _outputStream = _httpContent.GetOutputStream();
     _authenticationScheme = authenticationScheme;
     Contract.Assert(!enableChannelBindingSupport, "ChannelBinding not supported");
 }
Example #18
0
 internal static HttpOutput CreateHttpOutput(HttpRequestMessage httpRequestMessage, IHttpTransportFactorySettings settings, Message message, bool enableChannelBindingSupport, HttpClient httpClient, AuthenticationSchemes authenticationScheme, TimeoutHelper timeoutHelper)
 {
     return new HttpRequestMessageHttpOutput(httpRequestMessage, settings, message, enableChannelBindingSupport, httpClient, authenticationScheme, timeoutHelper);
 }
 public WebResponseHttpInput(HttpWebResponse httpWebResponse, IHttpTransportFactorySettings settings, System.Security.Authentication.ExtendedProtection.ChannelBinding channelBinding) : base(settings, false, channelBinding != null)
 {
     this.channelBinding = channelBinding;
     this.httpWebResponse = httpWebResponse;
     if (this.httpWebResponse.ContentLength == -1L)
     {
         this.preReadBuffer = new byte[1];
         if (this.httpWebResponse.GetResponseStream().Read(this.preReadBuffer, 0, 1) == 0)
         {
             this.preReadBuffer = null;
         }
     }
 }
 internal static HttpInput CreateHttpInput(HttpWebResponse httpWebResponse, IHttpTransportFactorySettings settings, System.Security.Authentication.ExtendedProtection.ChannelBinding channelBinding)
 {
     return new WebResponseHttpInput(httpWebResponse, settings, channelBinding);
 }
Example #21
0
            public HttpResponseMessageHttpInput(HttpResponseMessage httpResponse, IHttpTransportFactorySettings settings)
                : base(settings, false, false)
            {
                _httpResponse = httpResponse;
                if (HttpChannelUtilities.GetContentLength(httpResponse) == -1)
                {
                    _preReadBuffer = new byte[1];

                    if (_httpResponse.Content.ReadAsStreamAsync().GetAwaiter().GetResult().Read(_preReadBuffer, 0, 1) == 0)
                    {
                        _preReadBuffer = null;
                    }
                }

                _hasContent = (_preReadBuffer != null || HttpChannelUtilities.GetContentLength(httpResponse) > 0);
                if (!_hasContent)
                {
                    // Close the response stream to avoid leaking the connection.
                    _httpResponse.Content.ReadAsStreamAsync().GetAwaiter().GetResult().Dispose();
                }
            }
 internal static HttpInput CreateHttpInput(HttpWebResponse httpWebResponse, IHttpTransportFactorySettings settings, System.Security.Authentication.ExtendedProtection.ChannelBinding channelBinding)
 {
     return(new WebResponseHttpInput(httpWebResponse, settings, channelBinding));
 }
Example #23
0
 internal static HttpInput CreateHttpInput(HttpResponseMessage httpResponse, IHttpTransportFactorySettings settings)
 {
     return new HttpResponseMessageHttpInput(httpResponse, settings);
 }
Example #24
0
 public WebRequestHttpOutput(HttpWebRequest httpWebRequest, IHttpTransportFactorySettings settings, Message message, bool enableChannelBindingSupport)
     : base(settings, message, true, false)
 {
     this.httpWebRequest = httpWebRequest;
     this.enableChannelBindingSupport = enableChannelBindingSupport;
 }
 public HostedRequestHttpOutput(HostedHttpRequestAsyncResult result, IHttpTransportFactorySettings settings, Message message, HostedHttpContext context) : base(settings, message, false, false)
 {
     this.result = result;
     this.context = context;
     if (TransferModeHelper.IsResponseStreamed(settings.TransferMode))
     {
         result.SetTransferModeToStreaming();
     }
     if (message.IsFault)
     {
         this.statusCode = 500;
     }
     else
     {
         this.statusCode = 200;
     }
 }
Example #26
0
            public ListenerResponseHttpOutput(HttpListenerResponse listenerResponse, IHttpTransportFactorySettings settings, Message message, string httpMethod)
                : base(settings, message, false, true)
            {
                this.listenerResponse = listenerResponse;
                this.httpMethod = httpMethod;

                if (message.IsFault)
                {
                    this.SetStatusCode(HttpStatusCode.InternalServerError);
                }
                else
                {
                    this.SetStatusCode(HttpStatusCode.OK);
                }
            }
Example #27
0
            public HostedRequestHttpOutput(HostedHttpRequestAsyncResult result, IHttpTransportFactorySettings settings,
                Message message, HostedHttpContext context)
                : base(settings, message, false, false)
            {
                AspNetPartialTrustHelpers.FailIfInPartialTrustOutsideAspNet();

                this.result = result;
                this.context = context;

                if (TransferModeHelper.IsResponseStreamed(settings.TransferMode))
                    result.SetTransferModeToStreaming();

                if (message.IsFault)
                {
                    this.statusCode = (int)HttpStatusCode.InternalServerError;
                }
                else
                {
                    this.statusCode = (int)HttpStatusCode.OK;
                }
            }
Example #28
0
 internal static HttpInput CreateHttpInput(HttpWebResponse httpWebResponse, IHttpTransportFactorySettings settings, ChannelBinding channelBinding)
 {
     return new WebResponseHttpInput(httpWebResponse, settings, channelBinding);
 }
Example #29
0
        //EventTraceActivity eventTraceActivity;
        //ServerWebSocketTransportDuplexSessionChannel webSocketChannel;

        protected HttpRequestContext(IHttpTransportFactorySettings settings, Message requestMessage)
            : base(requestMessage, settings.CloseTimeout, settings.SendTimeout)
        {
            HttpTransportSettings = settings;
        }
Example #30
0
 internal static HttpRequestContext CreateContext(IHttpTransportFactorySettings settings, HttpContext httpContext)
 {
     return(new AspNetCoreHttpContext(settings, httpContext));
 }
 public ListenerResponseHttpOutput(HttpListenerResponse listenerResponse, IHttpTransportFactorySettings settings, Message message, string httpMethod) : base(settings, message, false, true)
 {
     this.listenerResponse = listenerResponse;
     this.httpMethod = httpMethod;
     if (message.IsFault)
     {
         this.listenerResponse.StatusCode = 500;
     }
     else
     {
         this.listenerResponse.StatusCode = 200;
     }
 }
Example #32
0
            // byte[] webSocketInternalBuffer;

            public AspNetCoreHttpContext(IHttpTransportFactorySettings settings, HttpContext aspNetContext)
                : base(settings, null)
            {
                _aspNetContext = aspNetContext;
            }
Example #33
0
 protected HttpOutput(IHttpTransportFactorySettings settings, Message message, bool isRequest, TimeoutHelper timeoutHelper)
     : this(settings, message, isRequest)
 {
     _timeoutHelper = timeoutHelper;
 }