public IProvider CreateProvider(Uri remoteUri) { ITransportContext transportContext = TransportContextFactory.CreateTransportContext(remoteUri); AmqpProvider amqpProvider = new AmqpProvider(remoteUri, transportContext); StringDictionary properties = URISupport.ParseQuery(remoteUri.Query); StringDictionary filteredProperties = PropertyUtil.FilterProperties(properties, "amqp."); PropertyUtil.SetProperties(amqpProvider, filteredProperties); return amqpProvider; }
public static ITransportContext CreateTransportContext(Uri uri) { ITransportContext transportContext = uri.Scheme.ToUpper().Equals("AMQPS") ? new SecureTransportContext() : new TransportContext(); StringDictionary properties = URISupport.ParseQuery(uri.Query); StringDictionary filteredProperties = PropertyUtil.FilterProperties(properties, "transport."); PropertyUtil.SetProperties(transportContext, filteredProperties); return(transportContext); }