22using System . Collections . Generic ;
33using System . IO ;
44using System . Linq ;
5+ using System . Security . Authentication ;
56using System . Xml ;
67using System . Xml . Linq ;
78using ReactiveXComponent . Common ;
@@ -182,12 +183,44 @@ public string GetSerializationType()
182183 public BusDetails GetBusDetails ( )
183184 {
184185 XElement busInfos = _xcApiDescription . GetBusNode ( ) ? . FirstOrDefault ( ) ;
186+
187+ var sslEnabledString = busInfos ? . Attribute ( XCApiTags . BusSslEnabled ) ? . Value ;
188+ var sslEnabled = false ;
189+ if ( ! string . IsNullOrEmpty ( sslEnabledString ) )
190+ {
191+ bool . TryParse ( sslEnabledString , out sslEnabled ) ;
192+ }
193+
194+ var sslServerName = busInfos ? . Attribute ( XCApiTags . BusSslServerName ) ? . Value ;
195+ var sslCertificatePath = busInfos ? . Attribute ( XCApiTags . BusSslCertificatePath ) ? . Value ;
196+ var sslCertificatePassphrase = busInfos ? . Attribute ( XCApiTags . BusSslCertificatePassphrase ) ? . Value ;
197+
198+ var sslProtocolString = busInfos ? . Attribute ( XCApiTags . BusSslProtocol ) ? . Value ;
199+ SslProtocols sslProtocol = SslProtocols . Default ;
200+ if ( ! string . IsNullOrEmpty ( sslProtocolString ) )
201+ {
202+ Enum . TryParse ( sslProtocolString , out sslProtocol ) ;
203+ }
204+
205+ var sslAllowUntrustedServerCertificateString = busInfos ? . Attribute ( XCApiTags . BusSslAllowUntrustedServerCertificate ) ? . Value ;
206+ var sslAllowUntrustedServerCertificate = false ;
207+ if ( ! string . IsNullOrEmpty ( sslAllowUntrustedServerCertificateString ) )
208+ {
209+ bool . TryParse ( sslAllowUntrustedServerCertificateString , out sslAllowUntrustedServerCertificate ) ;
210+ }
211+
185212 var busDetails = new BusDetails (
186- busInfos ? . Attribute ( "user" ) ? . Value ,
187- busInfos ? . Attribute ( "password" ) ? . Value ,
188- busInfos ? . Attribute ( "host" ) ? . Value ,
189- busInfos ? . Attribute ( "virtualHost" ) ? . Value ,
190- Convert . ToInt32 ( busInfos ? . Attribute ( "port" ) ? . Value ) ) ;
213+ busInfos ? . Attribute ( XCApiTags . User ) ? . Value ,
214+ busInfos ? . Attribute ( XCApiTags . Password ) ? . Value ,
215+ busInfos ? . Attribute ( XCApiTags . Host ) ? . Value ,
216+ busInfos ? . Attribute ( XCApiTags . VirtualHost ) ? . Value ,
217+ Convert . ToInt32 ( busInfos ? . Attribute ( XCApiTags . Port ) ? . Value ) ,
218+ sslEnabled ,
219+ sslServerName ,
220+ sslCertificatePath ,
221+ sslCertificatePassphrase ,
222+ sslProtocol ,
223+ sslAllowUntrustedServerCertificate ) ;
191224
192225 return busDetails ;
193226 }
@@ -197,16 +230,16 @@ public WebSocketEndpoint GetWebSocketEndpoint()
197230 XElement websocketInfos = _xcApiDescription . GetWebSocketNode ( ) ? . FirstOrDefault ( ) ;
198231
199232 WebSocketType webSocketType ;
200- var webSocketTypeString = websocketInfos ? . Attribute ( "type" ) ? . Value ;
233+ var webSocketTypeString = websocketInfos ? . Attribute ( XCApiTags . WebsocketType ) ? . Value ;
201234 if ( ! Enum . TryParse ( webSocketTypeString , out webSocketType ) )
202235 {
203236 throw new ReactiveXComponentException ( $ "Could not parse communication type: { webSocketTypeString } ") ;
204237 }
205238
206239 var webSocketEndpoint = new WebSocketEndpoint (
207- websocketInfos ? . Attribute ( "name" ) ? . Value ,
208- websocketInfos ? . Attribute ( "host" ) ? . Value ,
209- websocketInfos ? . Attribute ( "port" ) ? . Value ,
240+ websocketInfos ? . Attribute ( XCApiTags . Name ) ? . Value ,
241+ websocketInfos ? . Attribute ( XCApiTags . Host ) ? . Value ,
242+ websocketInfos ? . Attribute ( XCApiTags . Port ) ? . Value ,
210243 webSocketType ) ;
211244
212245 return webSocketEndpoint ;
0 commit comments