diff --git a/examples/Titanium.Web.Proxy.Examples.Wpf/Titanium.Web.Proxy.Examples.Wpf.csproj b/examples/Titanium.Web.Proxy.Examples.Wpf/Titanium.Web.Proxy.Examples.Wpf.csproj
index f9d14d6ce..9da37335b 100644
--- a/examples/Titanium.Web.Proxy.Examples.Wpf/Titanium.Web.Proxy.Examples.Wpf.csproj
+++ b/examples/Titanium.Web.Proxy.Examples.Wpf/Titanium.Web.Proxy.Examples.Wpf.csproj
@@ -142,10 +142,6 @@
-
- {61539dc1-ce80-41e6-a696-8f455ace8d15}
- StreamExtended
-
{91018b6d-a7a9-45be-9cb3-79cbb8b169a6}
Titanium.Web.Proxy
diff --git a/src/StreamExtended/Properties/AssemblyInfo.cs b/src/StreamExtended/Properties/AssemblyInfo.cs
deleted file mode 100644
index 1faa07207..000000000
--- a/src/StreamExtended/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-
-[assembly: AssemblyTitle("StreamExtended.Properties")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("StreamExtended.Properties")]
-[assembly: AssemblyCopyright("Copyright © Titanium 2015-2017")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-
-[assembly: Guid("5036e0b7-a0d0-4070-8eb0-72c129dee9a3")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-
-[assembly: AssemblyVersion("1.0.1")]
-[assembly: AssemblyFileVersion("1.0.1")]
diff --git a/src/StreamExtended/StreamExtended.csproj b/src/StreamExtended/StreamExtended.csproj
deleted file mode 100644
index 6d76ef985..000000000
--- a/src/StreamExtended/StreamExtended.csproj
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- net45;netstandard2.0
- True
- StrongKey.snk
- 1.0.0
- false
- Package Description
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/StreamExtended/StrongKey.snk b/src/StreamExtended/StrongKey.snk
deleted file mode 100644
index c7279e84f..000000000
Binary files a/src/StreamExtended/StrongKey.snk and /dev/null differ
diff --git a/src/Titanium.Web.Proxy.sln b/src/Titanium.Web.Proxy.sln
index 496d621a8..bb70e0b1c 100644
--- a/src/Titanium.Web.Proxy.sln
+++ b/src/Titanium.Web.Proxy.sln
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.26906.1
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29102.190
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{B6DBABDC-C985-4872-9C38-B4E5079CBC4B}"
EndProject
@@ -31,8 +31,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Titanium.Web.Proxy.Examples
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Titanium.Web.Proxy.IntegrationTests", "..\tests\Titanium.Web.Proxy.IntegrationTests\Titanium.Web.Proxy.IntegrationTests.csproj", "{1D053D72-DCB4-4517-ACDD-D35ADC186950}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StreamExtended", "StreamExtended\StreamExtended.csproj", "{61539DC1-CE80-41E6-A696-8F455ACE8D15}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -81,14 +79,6 @@ Global
{1D053D72-DCB4-4517-ACDD-D35ADC186950}.Release|Any CPU.Build.0 = Release|Any CPU
{1D053D72-DCB4-4517-ACDD-D35ADC186950}.Release|x64.ActiveCfg = Release|Any CPU
{1D053D72-DCB4-4517-ACDD-D35ADC186950}.Release|x64.Build.0 = Release|Any CPU
- {61539DC1-CE80-41E6-A696-8F455ACE8D15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {61539DC1-CE80-41E6-A696-8F455ACE8D15}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {61539DC1-CE80-41E6-A696-8F455ACE8D15}.Debug|x64.ActiveCfg = Debug|Any CPU
- {61539DC1-CE80-41E6-A696-8F455ACE8D15}.Debug|x64.Build.0 = Debug|Any CPU
- {61539DC1-CE80-41E6-A696-8F455ACE8D15}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {61539DC1-CE80-41E6-A696-8F455ACE8D15}.Release|Any CPU.Build.0 = Release|Any CPU
- {61539DC1-CE80-41E6-A696-8F455ACE8D15}.Release|x64.ActiveCfg = Release|Any CPU
- {61539DC1-CE80-41E6-A696-8F455ACE8D15}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -100,7 +90,7 @@ Global
{1D053D72-DCB4-4517-ACDD-D35ADC186950} = {BC1E0789-D348-49CF-8B67-5E99D50EDF64}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
- EnterpriseLibraryConfigurationToolBinariesPath = .1.505.2\lib\NET35
SolutionGuid = {625C1EB5-44CF-47DE-A85A-B4C8C40ED90A}
+ EnterpriseLibraryConfigurationToolBinariesPath = .1.505.2\lib\NET35
EndGlobalSection
EndGlobal
diff --git a/src/Titanium.Web.Proxy/EventArguments/LimitedStream.cs b/src/Titanium.Web.Proxy/EventArguments/LimitedStream.cs
index cd4d7ae9b..effa14589 100644
--- a/src/Titanium.Web.Proxy/EventArguments/LimitedStream.cs
+++ b/src/Titanium.Web.Proxy/EventArguments/LimitedStream.cs
@@ -2,9 +2,9 @@
using System.Globalization;
using System.IO;
using System.Threading.Tasks;
-using StreamExtended;
-using StreamExtended.Network;
using Titanium.Web.Proxy.Exceptions;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
+using Titanium.Web.Proxy.StreamExtended.Network;
namespace Titanium.Web.Proxy.EventArguments
{
diff --git a/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs b/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs
index e93a417c6..325f90c63 100644
--- a/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs
+++ b/src/Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs
@@ -4,12 +4,12 @@
using System.Net;
using System.Threading;
using System.Threading.Tasks;
-using StreamExtended.Network;
using Titanium.Web.Proxy.Compression;
using Titanium.Web.Proxy.Helpers;
using Titanium.Web.Proxy.Http;
using Titanium.Web.Proxy.Http.Responses;
using Titanium.Web.Proxy.Models;
+using Titanium.Web.Proxy.StreamExtended.Network;
namespace Titanium.Web.Proxy.EventArguments
{
diff --git a/src/Titanium.Web.Proxy/EventArguments/SessionEventArgsBase.cs b/src/Titanium.Web.Proxy/EventArguments/SessionEventArgsBase.cs
index e3792dde8..05af37bd0 100644
--- a/src/Titanium.Web.Proxy/EventArguments/SessionEventArgsBase.cs
+++ b/src/Titanium.Web.Proxy/EventArguments/SessionEventArgsBase.cs
@@ -2,13 +2,13 @@
using System.Collections.Generic;
using System.Net;
using System.Threading;
-using StreamExtended;
-using StreamExtended.Network;
using Titanium.Web.Proxy.Helpers;
using Titanium.Web.Proxy.Http;
using Titanium.Web.Proxy.Models;
using Titanium.Web.Proxy.Network;
using Titanium.Web.Proxy.Network.Tcp;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
+using Titanium.Web.Proxy.StreamExtended.Network;
namespace Titanium.Web.Proxy.EventArguments
{
diff --git a/src/Titanium.Web.Proxy/ExplicitClientHandler.cs b/src/Titanium.Web.Proxy/ExplicitClientHandler.cs
index a4fd23498..3355aeb57 100644
--- a/src/Titanium.Web.Proxy/ExplicitClientHandler.cs
+++ b/src/Titanium.Web.Proxy/ExplicitClientHandler.cs
@@ -7,8 +7,6 @@
using System.Security.Cryptography.X509Certificates;
using System.Threading;
using System.Threading.Tasks;
-using StreamExtended;
-using StreamExtended.Network;
using Titanium.Web.Proxy.EventArguments;
using Titanium.Web.Proxy.Exceptions;
using Titanium.Web.Proxy.Extensions;
@@ -17,6 +15,9 @@
using Titanium.Web.Proxy.Http2;
using Titanium.Web.Proxy.Models;
using Titanium.Web.Proxy.Network.Tcp;
+using Titanium.Web.Proxy.StreamExtended;
+using Titanium.Web.Proxy.StreamExtended.Network;
+using SslExtensions = Titanium.Web.Proxy.Extensions.SslExtensions;
namespace Titanium.Web.Proxy
{
diff --git a/src/Titanium.Web.Proxy/Extensions/SslExtensions.cs b/src/Titanium.Web.Proxy/Extensions/SslExtensions.cs
index 71ecf1b48..6af5801b1 100644
--- a/src/Titanium.Web.Proxy/Extensions/SslExtensions.cs
+++ b/src/Titanium.Web.Proxy/Extensions/SslExtensions.cs
@@ -5,7 +5,7 @@
using System.Security.Cryptography.X509Certificates;
using System.Threading;
using System.Threading.Tasks;
-using StreamExtended;
+using Titanium.Web.Proxy.StreamExtended;
namespace Titanium.Web.Proxy.Extensions
{
diff --git a/src/Titanium.Web.Proxy/Extensions/StreamExtensions.cs b/src/Titanium.Web.Proxy/Extensions/StreamExtensions.cs
index a8adcc89d..c4d648e52 100644
--- a/src/Titanium.Web.Proxy/Extensions/StreamExtensions.cs
+++ b/src/Titanium.Web.Proxy/Extensions/StreamExtensions.cs
@@ -2,7 +2,7 @@
using System.IO;
using System.Threading;
using System.Threading.Tasks;
-using StreamExtended;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
namespace Titanium.Web.Proxy.Extensions
{
diff --git a/src/Titanium.Web.Proxy/Helpers/HttpHelper.cs b/src/Titanium.Web.Proxy/Helpers/HttpHelper.cs
index 73d738a6c..01efff891 100644
--- a/src/Titanium.Web.Proxy/Helpers/HttpHelper.cs
+++ b/src/Titanium.Web.Proxy/Helpers/HttpHelper.cs
@@ -3,11 +3,11 @@
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
-using StreamExtended;
-using StreamExtended.Network;
using Titanium.Web.Proxy.Extensions;
using Titanium.Web.Proxy.Http;
using Titanium.Web.Proxy.Shared;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
+using Titanium.Web.Proxy.StreamExtended.Network;
namespace Titanium.Web.Proxy.Helpers
{
diff --git a/src/Titanium.Web.Proxy/Helpers/HttpRequestWriter.cs b/src/Titanium.Web.Proxy/Helpers/HttpRequestWriter.cs
index 5883761bc..00d1e0ea0 100644
--- a/src/Titanium.Web.Proxy/Helpers/HttpRequestWriter.cs
+++ b/src/Titanium.Web.Proxy/Helpers/HttpRequestWriter.cs
@@ -1,8 +1,8 @@
using System.IO;
using System.Threading;
using System.Threading.Tasks;
-using StreamExtended;
using Titanium.Web.Proxy.Http;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
namespace Titanium.Web.Proxy.Helpers
{
diff --git a/src/Titanium.Web.Proxy/Helpers/HttpResponseWriter.cs b/src/Titanium.Web.Proxy/Helpers/HttpResponseWriter.cs
index 43039ea0e..b971cdd28 100644
--- a/src/Titanium.Web.Proxy/Helpers/HttpResponseWriter.cs
+++ b/src/Titanium.Web.Proxy/Helpers/HttpResponseWriter.cs
@@ -2,8 +2,8 @@
using System.IO;
using System.Threading;
using System.Threading.Tasks;
-using StreamExtended;
using Titanium.Web.Proxy.Http;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
namespace Titanium.Web.Proxy.Helpers
{
diff --git a/src/Titanium.Web.Proxy/Helpers/HttpWriter.cs b/src/Titanium.Web.Proxy/Helpers/HttpWriter.cs
index 72fe6d991..bf39f8052 100644
--- a/src/Titanium.Web.Proxy/Helpers/HttpWriter.cs
+++ b/src/Titanium.Web.Proxy/Helpers/HttpWriter.cs
@@ -4,10 +4,10 @@
using System.Text;
using System.Threading;
using System.Threading.Tasks;
-using StreamExtended;
-using StreamExtended.Network;
using Titanium.Web.Proxy.Http;
using Titanium.Web.Proxy.Shared;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
+using Titanium.Web.Proxy.StreamExtended.Network;
namespace Titanium.Web.Proxy.Helpers
{
diff --git a/src/Titanium.Web.Proxy/Helpers/TcpHelper.cs b/src/Titanium.Web.Proxy/Helpers/TcpHelper.cs
index b16d81b58..eaa3f6fe4 100644
--- a/src/Titanium.Web.Proxy/Helpers/TcpHelper.cs
+++ b/src/Titanium.Web.Proxy/Helpers/TcpHelper.cs
@@ -3,8 +3,8 @@
using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;
-using StreamExtended;
using Titanium.Web.Proxy.Extensions;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
namespace Titanium.Web.Proxy.Helpers
{
diff --git a/src/Titanium.Web.Proxy/Http/ConnectRequest.cs b/src/Titanium.Web.Proxy/Http/ConnectRequest.cs
index 9b1400df1..c0bb83369 100644
--- a/src/Titanium.Web.Proxy/Http/ConnectRequest.cs
+++ b/src/Titanium.Web.Proxy/Http/ConnectRequest.cs
@@ -1,4 +1,4 @@
-using StreamExtended;
+using Titanium.Web.Proxy.StreamExtended;
namespace Titanium.Web.Proxy.Http
{
diff --git a/src/Titanium.Web.Proxy/Http/ConnectResponse.cs b/src/Titanium.Web.Proxy/Http/ConnectResponse.cs
index 56748d504..a6e93fe47 100644
--- a/src/Titanium.Web.Proxy/Http/ConnectResponse.cs
+++ b/src/Titanium.Web.Proxy/Http/ConnectResponse.cs
@@ -1,6 +1,6 @@
using System;
using System.Net;
-using StreamExtended;
+using Titanium.Web.Proxy.StreamExtended;
namespace Titanium.Web.Proxy.Http
{
diff --git a/src/Titanium.Web.Proxy/Http/HeaderParser.cs b/src/Titanium.Web.Proxy/Http/HeaderParser.cs
index 5e2822bc6..93a9d2008 100644
--- a/src/Titanium.Web.Proxy/Http/HeaderParser.cs
+++ b/src/Titanium.Web.Proxy/Http/HeaderParser.cs
@@ -1,8 +1,8 @@
using System;
using System.Threading;
using System.Threading.Tasks;
-using StreamExtended.Network;
using Titanium.Web.Proxy.Shared;
+using Titanium.Web.Proxy.StreamExtended.Network;
namespace Titanium.Web.Proxy.Http
{
diff --git a/src/Titanium.Web.Proxy/Network/DebugCustomBufferedStream.cs b/src/Titanium.Web.Proxy/Network/DebugCustomBufferedStream.cs
index d7cacdfa7..d1de89d5e 100644
--- a/src/Titanium.Web.Proxy/Network/DebugCustomBufferedStream.cs
+++ b/src/Titanium.Web.Proxy/Network/DebugCustomBufferedStream.cs
@@ -1,10 +1,11 @@
-#if DEBUG
+
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
+using Titanium.Web.Proxy.StreamExtended.Network;
+#if DEBUG
using System;
using System.IO;
using System.Text;
using System.Threading;
-using StreamExtended;
-using StreamExtended.Network;
namespace Titanium.Web.Proxy.Network
{
diff --git a/src/Titanium.Web.Proxy/Network/ProxyClient.cs b/src/Titanium.Web.Proxy/Network/ProxyClient.cs
index 2eae08e5f..792d00d0f 100644
--- a/src/Titanium.Web.Proxy/Network/ProxyClient.cs
+++ b/src/Titanium.Web.Proxy/Network/ProxyClient.cs
@@ -1,6 +1,6 @@
-using StreamExtended.Network;
-using Titanium.Web.Proxy.Helpers;
+using Titanium.Web.Proxy.Helpers;
using Titanium.Web.Proxy.Network.Tcp;
+using Titanium.Web.Proxy.StreamExtended.Network;
namespace Titanium.Web.Proxy.Network
{
diff --git a/src/Titanium.Web.Proxy/Network/Tcp/TcpConnectionFactory.cs b/src/Titanium.Web.Proxy/Network/Tcp/TcpConnectionFactory.cs
index fa687c7a9..1d63db121 100644
--- a/src/Titanium.Web.Proxy/Network/Tcp/TcpConnectionFactory.cs
+++ b/src/Titanium.Web.Proxy/Network/Tcp/TcpConnectionFactory.cs
@@ -8,12 +8,12 @@
using System.Text;
using System.Threading;
using System.Threading.Tasks;
-using StreamExtended.Network;
using Titanium.Web.Proxy.EventArguments;
using Titanium.Web.Proxy.Extensions;
using Titanium.Web.Proxy.Helpers;
using Titanium.Web.Proxy.Http;
using Titanium.Web.Proxy.Models;
+using Titanium.Web.Proxy.StreamExtended.Network;
namespace Titanium.Web.Proxy.Network.Tcp
{
diff --git a/src/Titanium.Web.Proxy/Network/Tcp/TcpServerConnection.cs b/src/Titanium.Web.Proxy/Network/Tcp/TcpServerConnection.cs
index a45e679f3..d14de3482 100644
--- a/src/Titanium.Web.Proxy/Network/Tcp/TcpServerConnection.cs
+++ b/src/Titanium.Web.Proxy/Network/Tcp/TcpServerConnection.cs
@@ -5,10 +5,10 @@
#endif
using System.Net.Sockets;
using System.Threading.Tasks;
-using StreamExtended.Network;
using Titanium.Web.Proxy.Extensions;
using Titanium.Web.Proxy.Helpers;
using Titanium.Web.Proxy.Models;
+using Titanium.Web.Proxy.StreamExtended.Network;
namespace Titanium.Web.Proxy.Network.Tcp
{
diff --git a/src/Titanium.Web.Proxy/ProxyServer.cs b/src/Titanium.Web.Proxy/ProxyServer.cs
index c668333b7..c364b5677 100644
--- a/src/Titanium.Web.Proxy/ProxyServer.cs
+++ b/src/Titanium.Web.Proxy/ProxyServer.cs
@@ -7,8 +7,6 @@
using System.Security.Cryptography.X509Certificates;
using System.Threading;
using System.Threading.Tasks;
-using StreamExtended;
-using StreamExtended.Network;
using Titanium.Web.Proxy.EventArguments;
using Titanium.Web.Proxy.Extensions;
using Titanium.Web.Proxy.Helpers;
@@ -16,6 +14,8 @@
using Titanium.Web.Proxy.Models;
using Titanium.Web.Proxy.Network;
using Titanium.Web.Proxy.Network.Tcp;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
+using Titanium.Web.Proxy.StreamExtended.Network;
namespace Titanium.Web.Proxy
{
diff --git a/src/Titanium.Web.Proxy/RequestHandler.cs b/src/Titanium.Web.Proxy/RequestHandler.cs
index 785639f28..749d0d0cf 100644
--- a/src/Titanium.Web.Proxy/RequestHandler.cs
+++ b/src/Titanium.Web.Proxy/RequestHandler.cs
@@ -9,7 +9,6 @@
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
-using StreamExtended.Network;
using Titanium.Web.Proxy.EventArguments;
using Titanium.Web.Proxy.Exceptions;
using Titanium.Web.Proxy.Extensions;
@@ -19,6 +18,7 @@
using Titanium.Web.Proxy.Network;
using Titanium.Web.Proxy.Network.Tcp;
using Titanium.Web.Proxy.Shared;
+using Titanium.Web.Proxy.StreamExtended.Network;
namespace Titanium.Web.Proxy
{
diff --git a/src/StreamExtended/BufferPool/DefaultBufferPool.cs b/src/Titanium.Web.Proxy/StreamExtended/BufferPool/DefaultBufferPool.cs
similarity index 96%
rename from src/StreamExtended/BufferPool/DefaultBufferPool.cs
rename to src/Titanium.Web.Proxy/StreamExtended/BufferPool/DefaultBufferPool.cs
index 4d7d8a641..4b6f57712 100644
--- a/src/StreamExtended/BufferPool/DefaultBufferPool.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/BufferPool/DefaultBufferPool.cs
@@ -1,6 +1,6 @@
using System.Collections.Concurrent;
-namespace StreamExtended
+namespace Titanium.Web.Proxy.StreamExtended.BufferPool
{
///
diff --git a/src/StreamExtended/BufferPool/IBufferPool.cs b/src/Titanium.Web.Proxy/StreamExtended/BufferPool/IBufferPool.cs
similarity index 86%
rename from src/StreamExtended/BufferPool/IBufferPool.cs
rename to src/Titanium.Web.Proxy/StreamExtended/BufferPool/IBufferPool.cs
index f7f1b761c..5ede12244 100644
--- a/src/StreamExtended/BufferPool/IBufferPool.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/BufferPool/IBufferPool.cs
@@ -1,6 +1,6 @@
using System;
-namespace StreamExtended
+namespace Titanium.Web.Proxy.StreamExtended.BufferPool
{
///
/// Use this interface to implement custom buffer pool.
diff --git a/src/StreamExtended/ClientHelloInfo.cs b/src/Titanium.Web.Proxy/StreamExtended/ClientHelloInfo.cs
similarity index 97%
rename from src/StreamExtended/ClientHelloInfo.cs
rename to src/Titanium.Web.Proxy/StreamExtended/ClientHelloInfo.cs
index 4cf3bd008..2ad96ae94 100644
--- a/src/StreamExtended/ClientHelloInfo.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/ClientHelloInfo.cs
@@ -1,10 +1,10 @@
-using StreamExtended.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
+using Titanium.Web.Proxy.StreamExtended.Models;
-namespace StreamExtended
+namespace Titanium.Web.Proxy.StreamExtended
{
///
/// Wraps up the client SSL hello information.
diff --git a/src/StreamExtended/Models/SslCiphers.cs b/src/Titanium.Web.Proxy/StreamExtended/Models/SslCiphers.cs
similarity index 99%
rename from src/StreamExtended/Models/SslCiphers.cs
rename to src/Titanium.Web.Proxy/StreamExtended/Models/SslCiphers.cs
index ea3200f74..8f66b7b27 100644
--- a/src/StreamExtended/Models/SslCiphers.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/Models/SslCiphers.cs
@@ -1,6 +1,6 @@
using System.Collections.Generic;
-namespace StreamExtended.Models
+namespace Titanium.Web.Proxy.StreamExtended.Models
{
internal static class SslCiphers
{
diff --git a/src/StreamExtended/Models/SslExtension.cs b/src/Titanium.Web.Proxy/StreamExtended/Models/SslExtension.cs
similarity index 96%
rename from src/StreamExtended/Models/SslExtension.cs
rename to src/Titanium.Web.Proxy/StreamExtended/Models/SslExtension.cs
index 9c3fe9d49..5c072dd12 100644
--- a/src/StreamExtended/Models/SslExtension.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/Models/SslExtension.cs
@@ -1,4 +1,4 @@
-namespace StreamExtended.Models
+namespace Titanium.Web.Proxy.StreamExtended.Models
{
///
/// The SSL extension information.
diff --git a/src/StreamExtended/Network/ClientHelloAlpnAdderStream.cs b/src/Titanium.Web.Proxy/StreamExtended/Network/ClientHelloAlpnAdderStream.cs
similarity index 97%
rename from src/StreamExtended/Network/ClientHelloAlpnAdderStream.cs
rename to src/Titanium.Web.Proxy/StreamExtended/Network/ClientHelloAlpnAdderStream.cs
index e057b5903..fcb3db54e 100644
--- a/src/StreamExtended/Network/ClientHelloAlpnAdderStream.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/Network/ClientHelloAlpnAdderStream.cs
@@ -1,8 +1,9 @@
using System.Diagnostics;
using System.IO;
using System.Threading;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
-namespace StreamExtended.Network
+namespace Titanium.Web.Proxy.StreamExtended.Network
{
public class ClientHelloAlpnAdderStream : Stream
{
diff --git a/src/StreamExtended/Network/CopyStream.cs b/src/Titanium.Web.Proxy/StreamExtended/Network/CopyStream.cs
similarity index 97%
rename from src/StreamExtended/Network/CopyStream.cs
rename to src/Titanium.Web.Proxy/StreamExtended/Network/CopyStream.cs
index a337c11fb..edbb1a459 100644
--- a/src/StreamExtended/Network/CopyStream.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/Network/CopyStream.cs
@@ -1,8 +1,9 @@
using System;
using System.Threading;
using System.Threading.Tasks;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
-namespace StreamExtended.Network
+namespace Titanium.Web.Proxy.StreamExtended.Network
{
///
/// Copies the source stream to destination stream.
diff --git a/src/StreamExtended/Network/CustomBufferedPeekStream.cs b/src/Titanium.Web.Proxy/StreamExtended/Network/CustomBufferedPeekStream.cs
similarity index 97%
rename from src/StreamExtended/Network/CustomBufferedPeekStream.cs
rename to src/Titanium.Web.Proxy/StreamExtended/Network/CustomBufferedPeekStream.cs
index 43a9d2ace..08064afe7 100644
--- a/src/StreamExtended/Network/CustomBufferedPeekStream.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/Network/CustomBufferedPeekStream.cs
@@ -1,7 +1,8 @@
using System.Threading;
using System.Threading.Tasks;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
-namespace StreamExtended.Network
+namespace Titanium.Web.Proxy.StreamExtended.Network
{
internal class CustomBufferedPeekStream : ICustomStreamReader
{
diff --git a/src/StreamExtended/Network/CustomBufferedStream.cs b/src/Titanium.Web.Proxy/StreamExtended/Network/CustomBufferedStream.cs
similarity index 99%
rename from src/StreamExtended/Network/CustomBufferedStream.cs
rename to src/Titanium.Web.Proxy/StreamExtended/Network/CustomBufferedStream.cs
index 11451485d..b464daf36 100644
--- a/src/StreamExtended/Network/CustomBufferedStream.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/Network/CustomBufferedStream.cs
@@ -4,8 +4,9 @@
using System.Text;
using System.Threading;
using System.Threading.Tasks;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
-namespace StreamExtended.Network
+namespace Titanium.Web.Proxy.StreamExtended.Network
{
///
/// A custom network stream inherited from stream
diff --git a/src/StreamExtended/Network/DataEventArgs.cs b/src/Titanium.Web.Proxy/StreamExtended/Network/DataEventArgs.cs
similarity index 93%
rename from src/StreamExtended/Network/DataEventArgs.cs
rename to src/Titanium.Web.Proxy/StreamExtended/Network/DataEventArgs.cs
index e12bc9d07..8ad968e4e 100644
--- a/src/StreamExtended/Network/DataEventArgs.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/Network/DataEventArgs.cs
@@ -1,6 +1,6 @@
using System;
-namespace StreamExtended.Network
+namespace Titanium.Web.Proxy.StreamExtended.Network
{
///
/// Wraps the data sent/received event argument.
diff --git a/src/StreamExtended/Network/ICustomStreamReader.cs b/src/Titanium.Web.Proxy/StreamExtended/Network/ICustomStreamReader.cs
similarity index 98%
rename from src/StreamExtended/Network/ICustomStreamReader.cs
rename to src/Titanium.Web.Proxy/StreamExtended/Network/ICustomStreamReader.cs
index 3d9848e34..69a13f333 100644
--- a/src/StreamExtended/Network/ICustomStreamReader.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/Network/ICustomStreamReader.cs
@@ -2,7 +2,7 @@
using System.Threading;
using System.Threading.Tasks;
-namespace StreamExtended.Network
+namespace Titanium.Web.Proxy.StreamExtended.Network
{
///
/// This concrete implemetation of interface acts as the source stream for CopyStream class.
diff --git a/src/StreamExtended/Network/ICustomStreamWriter.cs b/src/Titanium.Web.Proxy/StreamExtended/Network/ICustomStreamWriter.cs
similarity index 88%
rename from src/StreamExtended/Network/ICustomStreamWriter.cs
rename to src/Titanium.Web.Proxy/StreamExtended/Network/ICustomStreamWriter.cs
index 8c73d0fac..919339f0b 100644
--- a/src/StreamExtended/Network/ICustomStreamWriter.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/Network/ICustomStreamWriter.cs
@@ -1,7 +1,7 @@
using System.Threading;
using System.Threading.Tasks;
-namespace StreamExtended.Network
+namespace Titanium.Web.Proxy.StreamExtended.Network
{
///
/// A concrete implementation of this interface is required when calling CopyStream.
diff --git a/src/StreamExtended/Network/ServerHelloAlpnAdderStream.cs b/src/Titanium.Web.Proxy/StreamExtended/Network/ServerHelloAlpnAdderStream.cs
similarity index 97%
rename from src/StreamExtended/Network/ServerHelloAlpnAdderStream.cs
rename to src/Titanium.Web.Proxy/StreamExtended/Network/ServerHelloAlpnAdderStream.cs
index c4920bc7b..26dda6c7f 100644
--- a/src/StreamExtended/Network/ServerHelloAlpnAdderStream.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/Network/ServerHelloAlpnAdderStream.cs
@@ -1,8 +1,9 @@
using System.Diagnostics;
using System.IO;
using System.Threading;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
-namespace StreamExtended.Network
+namespace Titanium.Web.Proxy.StreamExtended.Network
{
public class ServerHelloAlpnAdderStream : Stream
{
diff --git a/src/StreamExtended/ServerHelloInfo.cs b/src/Titanium.Web.Proxy/StreamExtended/ServerHelloInfo.cs
similarity index 97%
rename from src/StreamExtended/ServerHelloInfo.cs
rename to src/Titanium.Web.Proxy/StreamExtended/ServerHelloInfo.cs
index e7adc727b..02e949d09 100644
--- a/src/StreamExtended/ServerHelloInfo.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/ServerHelloInfo.cs
@@ -1,10 +1,10 @@
-using StreamExtended.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
+using Titanium.Web.Proxy.StreamExtended.Models;
-namespace StreamExtended
+namespace Titanium.Web.Proxy.StreamExtended
{
///
/// Wraps up the server SSL hello information.
diff --git a/src/StreamExtended/SslExtensions.cs b/src/Titanium.Web.Proxy/StreamExtended/SslExtensions.cs
similarity index 99%
rename from src/StreamExtended/SslExtensions.cs
rename to src/Titanium.Web.Proxy/StreamExtended/SslExtensions.cs
index 4bab3ce34..c6569fdad 100644
--- a/src/StreamExtended/SslExtensions.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/SslExtensions.cs
@@ -1,9 +1,9 @@
-using StreamExtended.Models;
-using System.Collections.Generic;
+using System.Collections.Generic;
using System.Linq;
using System.Text;
+using Titanium.Web.Proxy.StreamExtended.Models;
-namespace StreamExtended
+namespace Titanium.Web.Proxy.StreamExtended
{
internal class SslExtensions
{
diff --git a/src/StreamExtended/SslTools.cs b/src/Titanium.Web.Proxy/StreamExtended/SslTools.cs
similarity index 98%
rename from src/StreamExtended/SslTools.cs
rename to src/Titanium.Web.Proxy/StreamExtended/SslTools.cs
index cd2ccdbec..5be6a4e29 100644
--- a/src/StreamExtended/SslTools.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/SslTools.cs
@@ -1,11 +1,11 @@
-using StreamExtended.Models;
-using StreamExtended.Network;
-using System.Collections.Generic;
-using System.IO;
+using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
+using Titanium.Web.Proxy.StreamExtended.BufferPool;
+using Titanium.Web.Proxy.StreamExtended.Models;
+using Titanium.Web.Proxy.StreamExtended.Network;
-namespace StreamExtended
+namespace Titanium.Web.Proxy.StreamExtended
{
///
/// Use this class to peek SSL client/server hello information.
diff --git a/src/StreamExtended/TaskExtended.cs b/src/Titanium.Web.Proxy/StreamExtended/TaskExtended.cs
similarity index 93%
rename from src/StreamExtended/TaskExtended.cs
rename to src/Titanium.Web.Proxy/StreamExtended/TaskExtended.cs
index 7b362c02c..988e8669f 100644
--- a/src/StreamExtended/TaskExtended.cs
+++ b/src/Titanium.Web.Proxy/StreamExtended/TaskExtended.cs
@@ -1,11 +1,8 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
using System.Threading;
using System.Threading.Tasks;
-namespace StreamExtended
+namespace Titanium.Web.Proxy.StreamExtended
{
///
/// Mimic a Task but you can set AsyncState
diff --git a/src/Titanium.Web.Proxy/Titanium.Web.Proxy.Mono.csproj b/src/Titanium.Web.Proxy/Titanium.Web.Proxy.Mono.csproj
index d24fa80be..13fbcc0f8 100644
--- a/src/Titanium.Web.Proxy/Titanium.Web.Proxy.Mono.csproj
+++ b/src/Titanium.Web.Proxy/Titanium.Web.Proxy.Mono.csproj
@@ -16,10 +16,6 @@
-
-
-
-
diff --git a/src/Titanium.Web.Proxy/Titanium.Web.Proxy.NetCore.csproj b/src/Titanium.Web.Proxy/Titanium.Web.Proxy.NetCore.csproj
index f7387218e..280ec7774 100644
--- a/src/Titanium.Web.Proxy/Titanium.Web.Proxy.NetCore.csproj
+++ b/src/Titanium.Web.Proxy/Titanium.Web.Proxy.NetCore.csproj
@@ -34,10 +34,6 @@
-
-
-
-
diff --git a/src/Titanium.Web.Proxy/Titanium.Web.Proxy.csproj b/src/Titanium.Web.Proxy/Titanium.Web.Proxy.csproj
index 6da302743..27a8842af 100644
--- a/src/Titanium.Web.Proxy/Titanium.Web.Proxy.csproj
+++ b/src/Titanium.Web.Proxy/Titanium.Web.Proxy.csproj
@@ -39,10 +39,6 @@
-
-
-
-
True
diff --git a/src/Titanium.Web.Proxy/TransparentClientHandler.cs b/src/Titanium.Web.Proxy/TransparentClientHandler.cs
index c929c567d..786bebf34 100644
--- a/src/Titanium.Web.Proxy/TransparentClientHandler.cs
+++ b/src/Titanium.Web.Proxy/TransparentClientHandler.cs
@@ -7,14 +7,14 @@
using System.Security.Cryptography.X509Certificates;
using System.Threading;
using System.Threading.Tasks;
-using StreamExtended;
-using StreamExtended.Network;
using Titanium.Web.Proxy.EventArguments;
using Titanium.Web.Proxy.Exceptions;
using Titanium.Web.Proxy.Extensions;
using Titanium.Web.Proxy.Helpers;
using Titanium.Web.Proxy.Models;
using Titanium.Web.Proxy.Network.Tcp;
+using Titanium.Web.Proxy.StreamExtended;
+using Titanium.Web.Proxy.StreamExtended.Network;
namespace Titanium.Web.Proxy
{
diff --git a/src/Titanium.Web.Proxy/WebSocketHandler.cs b/src/Titanium.Web.Proxy/WebSocketHandler.cs
index 954b2dffe..480b7c573 100644
--- a/src/Titanium.Web.Proxy/WebSocketHandler.cs
+++ b/src/Titanium.Web.Proxy/WebSocketHandler.cs
@@ -1,5 +1,4 @@
-using StreamExtended.Network;
-using System;
+using System;
using System.Threading;
using System.Threading.Tasks;
using Titanium.Web.Proxy.EventArguments;
@@ -7,6 +6,7 @@
using Titanium.Web.Proxy.Helpers;
using Titanium.Web.Proxy.Http;
using Titanium.Web.Proxy.Network.Tcp;
+using Titanium.Web.Proxy.StreamExtended.Network;
namespace Titanium.Web.Proxy
{
diff --git a/src/Titanium.Web.Proxy/packages.config b/src/Titanium.Web.Proxy/packages.config
deleted file mode 100644
index fa035601e..000000000
--- a/src/Titanium.Web.Proxy/packages.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/Titanium.Web.Proxy.IntegrationTests/Titanium.Web.Proxy.IntegrationTests.csproj b/tests/Titanium.Web.Proxy.IntegrationTests/Titanium.Web.Proxy.IntegrationTests.csproj
index 95e3124c0..29f5b91bf 100644
--- a/tests/Titanium.Web.Proxy.IntegrationTests/Titanium.Web.Proxy.IntegrationTests.csproj
+++ b/tests/Titanium.Web.Proxy.IntegrationTests/Titanium.Web.Proxy.IntegrationTests.csproj
@@ -17,7 +17,7 @@
-
+
diff --git a/tests/Titanium.Web.Proxy.UnitTests/Titanium.Web.Proxy.UnitTests.csproj b/tests/Titanium.Web.Proxy.UnitTests/Titanium.Web.Proxy.UnitTests.csproj
index 9e4519ec4..d3f3bec32 100644
--- a/tests/Titanium.Web.Proxy.UnitTests/Titanium.Web.Proxy.UnitTests.csproj
+++ b/tests/Titanium.Web.Proxy.UnitTests/Titanium.Web.Proxy.UnitTests.csproj
@@ -7,7 +7,7 @@
-
+