99
1010using FubarDev . FtpServer . Authentication ;
1111
12+ using Microsoft . Extensions . Logging ;
13+
1214namespace FubarDev . FtpServer . ConnectionHandlers
1315{
1416 /// <summary>
@@ -21,6 +23,7 @@ internal class SecureConnectionAdapter : IFtpSecureConnectionAdapter
2123 private readonly ISslStreamWrapperFactory _sslStreamWrapperFactory ;
2224
2325 private readonly CancellationToken _connectionClosed ;
26+ private readonly ILoggerFactory ? _loggerFactory ;
2427 private IFtpConnectionAdapter _activeCommunicationService ;
2528
2629 /// <summary>
@@ -30,20 +33,24 @@ internal class SecureConnectionAdapter : IFtpSecureConnectionAdapter
3033 /// <param name="connectionPipe">The pipe to the connection object.</param>
3134 /// <param name="sslStreamWrapperFactory">The SSL stream wrapper factory.</param>
3235 /// <param name="connectionClosed">The cancellation token for a closed connection.</param>
36+ /// <param name="loggerFactory">The logger factory.</param>
3337 public SecureConnectionAdapter (
3438 IDuplexPipe socketPipe ,
3539 IDuplexPipe connectionPipe ,
3640 ISslStreamWrapperFactory sslStreamWrapperFactory ,
37- CancellationToken connectionClosed )
41+ CancellationToken connectionClosed ,
42+ ILoggerFactory ? loggerFactory = null )
3843 {
3944 _socketPipe = socketPipe ;
4045 _connectionPipe = connectionPipe ;
4146 _sslStreamWrapperFactory = sslStreamWrapperFactory ;
4247 _connectionClosed = connectionClosed ;
48+ _loggerFactory = loggerFactory ;
4349 _activeCommunicationService = new PassThroughConnectionAdapter (
4450 socketPipe ,
4551 connectionPipe ,
46- connectionClosed ) ;
52+ connectionClosed ,
53+ loggerFactory ) ;
4754 }
4855
4956 /// <inheritdoc />
@@ -60,7 +67,8 @@ await StopAsync(cancellationToken)
6067 _activeCommunicationService = new PassThroughConnectionAdapter (
6168 _socketPipe ,
6269 _connectionPipe ,
63- _connectionClosed ) ;
70+ _connectionClosed ,
71+ _loggerFactory ) ;
6472 await StartAsync ( cancellationToken )
6573 . ConfigureAwait ( false ) ;
6674 }
@@ -77,14 +85,16 @@ await StopAsync(cancellationToken)
7785 _connectionPipe ,
7886 _sslStreamWrapperFactory ,
7987 certificate ,
80- _connectionClosed ) ;
88+ _connectionClosed ,
89+ _loggerFactory ) ;
8190 }
8291 catch
8392 {
8493 _activeCommunicationService = new PassThroughConnectionAdapter (
8594 _socketPipe ,
8695 _connectionPipe ,
87- _connectionClosed ) ;
96+ _connectionClosed ,
97+ _loggerFactory ) ;
8898 throw ;
8999 }
90100 finally
0 commit comments