[Mono.Security.Interface]: Improve synergy between `SslStream` and `IMonoSslStream...
[mono.git] / mcs / class / System / System.Net / HttpConnection.cs
index 2be693f5b16c4fa3fee90b2e3daa2096746d714f..680ec8188ede53fa1566e771c2eae315be289c84 100644 (file)
 #if MONO_SECURITY_ALIAS
 extern alias MonoSecurity;
 #endif
-#if MONO_X509_ALIAS
-extern alias PrebuiltSystem;
-#endif
 
 #if MONO_SECURITY_ALIAS
 using MSI = MonoSecurity::Mono.Security.Interface;
 #else
 using MSI = Mono.Security.Interface;
 #endif
-#if MONO_X509_ALIAS
-using XX509CertificateCollection = PrebuiltSystem::System.Security.Cryptography.X509Certificates.X509CertificateCollection;
-#else
-using XX509CertificateCollection = System.Security.Cryptography.X509Certificates.X509CertificateCollection;
-#endif
 
 using System.IO;
 using System.Net.Sockets;
 using System.Text;
 using System.Threading;
+using System.Net.Security;
 using System.Security.Authentication;
 using System.Security.Cryptography;
 using System.Security.Cryptography.X509Certificates;
-using Mono.Net.Security;
 
 namespace System.Net {
        sealed class HttpConnection
@@ -81,7 +73,7 @@ namespace System.Net {
                HttpListener last_listener;
                int [] client_cert_errors;
                X509Certificate2 client_cert;
-               IMonoSslStream ssl_stream;
+               SslStream ssl_stream;
 
                public HttpConnection (Socket sock, EndPointListener epl, bool secure, X509Certificate cert)
                {
@@ -102,12 +94,16 @@ namespace System.Net {
                                        client_cert_errors = new int[] { (int)e };
                                        return true;
                                });
-                               stream = ssl_stream.AuthenticatedStream;
+                               stream = ssl_stream;
                        }
                        timer = new Timer (OnTimeout, null, Timeout.Infinite, Timeout.Infinite);
                        Init ();
                }
 
+               internal SslStream SslStream {
+                       get { return ssl_stream; }
+               }
+
                internal int [] ClientCertificateErrors {
                        get { return client_cert_errors; }
                }
@@ -397,7 +393,7 @@ namespace System.Net {
                                HttpListenerResponse response = context.Response;
                                response.StatusCode = status;
                                response.ContentType = "text/html";
-                               string description = HttpListenerResponse.GetStatusDescription (status);
+                               string description = HttpListenerResponseHelper.GetStatusDescription (status);
                                string str;
                                if (msg != null)
                                        str = String.Format ("<h1>{0} ({1})</h1>", description, msg);