public RollbackableStream(Stream tcpStream, TcpSettings tcpSettings) { Validation.RequireValidTcpSettings(tcpSettings); _original = tcpStream ?? throw new ArgumentNullException(nameof(tcpStream)); // Allocate read-ahead buffer: // It should be large enough, at least equal to the TCP read buffer, // otherwise rollback calls will fail. _readAheadBuffer = new BinaryStack(tcpSettings.ReadWriteBufferSize); }
public HttpChunkedResponseEncoder( Stream target, TcpSettings tcpSettings, HttpSettings httpSettings) { Validation.RequireValidTcpSettings(tcpSettings); Validation.RequireValidHttpSettings(httpSettings); _buffer = new MemoryStream(httpSettings.MaxBodyChunkSize); _maxChunkSize = httpSettings.MaxBodyChunkSize; _target = target ?? throw new ArgumentNullException(nameof(target)); _tcpSettings = tcpSettings; }
public HttpRequest( Stream requestStream, TcpSettings tcpSettings, IHttpRequestBodyFactory requestBodyFactory) { Validation.RequireValidTcpSettings(tcpSettings); _requestStream = new RollbackableStream( requestStream ?? throw new ArgumentNullException(nameof(requestStream)), tcpSettings); _tcpSettings = tcpSettings; _requestBodyFactory = requestBodyFactory ?? throw new ArgumentNullException(nameof(requestBodyFactory)); }
public HttpChunkedRequestBody( RollbackableStream requestStream, HttpRequestHeader header, TcpSettings tcpSettings) { Validation.RequireValidTcpSettings(tcpSettings); _requestStream = requestStream ?? throw new ArgumentNullException(nameof(requestStream)); _header = header ?? throw new ArgumentNullException(nameof(header)); _readBuffer = new byte[tcpSettings.ReadWriteBufferSize]; _trailerReader = new HttpChunkedTrailerReader( _requestStream, tcpSettings.ReadWriteBufferSize); }
public HttpResponse( IHttpRequest request, Stream rawResponseStream, TcpSettings tcpSettings, HttpSettings httpSettings) { Validation.RequireValidTcpSettings(tcpSettings); _request = request; _rawResponseStream = rawResponseStream ?? throw new ArgumentNullException(nameof(rawResponseStream)); _tcpSettings = tcpSettings; _header = new HttpResponseHeader(); _header.StatusCode = 200; _body = new HttpResponseBody(_rawResponseStream, tcpSettings, httpSettings, this); }
public TcpClientHandler( ISslService sslService, ITcpSessionFactory tcpSessionFactory, IWatchDog tcpWatchDog, TcpSettings tcpSettings) { Validation.RequireValidTcpSettings(tcpSettings); _sslService = sslService ?? throw new ArgumentNullException(nameof(sslService)); _tcpSessionFactory = tcpSessionFactory ?? throw new ArgumentNullException(nameof(tcpSessionFactory)); _tcpWatchDog = tcpWatchDog ?? throw new ArgumentNullException(nameof(tcpWatchDog)); _tcpWatchDog.MaxSessionDuration = tcpSettings.IdleTimeout; _tcpSettings = tcpSettings; }
internal HttpResponseBody( Stream rawResponseStream, TcpSettings tcpSettings, HttpSettings httpSettings, IHttpResponse response, ILogger logger) { Validation.RequireValidHttpSettings(httpSettings); Validation.RequireValidTcpSettings(tcpSettings); _tcpSettings = tcpSettings; _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _rawResponseStream = rawResponseStream ?? throw new ArgumentNullException(nameof(rawResponseStream)); _response = response ?? throw new ArgumentNullException(nameof(response)); _httpSettings = httpSettings; _buffer = new MemoryStream(httpSettings.MaxBodyChunkSize); _buffer.Position = 0; }
public HttpSession( Stream connection, TcpSettings tcpSettings, IContent content, IContentSettingsReadOnly contentSettings, IHttpKeepAliveService keepAliveService, IHttpRequestInternal request, IHttpResponseInternal response) { Validation.RequireValidTcpSettings(tcpSettings); _tcpSettings = tcpSettings; _connection = connection ?? throw new ArgumentNullException(nameof(connection)); _content = content ?? throw new ArgumentNullException(nameof(content)); _contentSettings = contentSettings ?? throw new ArgumentNullException(nameof(contentSettings)); _keepAliveService = keepAliveService ?? throw new ArgumentNullException(nameof(keepAliveService)); _request = request ?? throw new ArgumentNullException(nameof(request)); _response = response ?? throw new ArgumentNullException(nameof(response)); }
public void SetTcpSettings(TcpSettings tcpSettings) { Validation.RequireValidTcpSettings(tcpSettings); _tcpSettings = tcpSettings; }