public HttpFilteringEngine(FirewallCheckHandler firewallCheckFunc, HttpMessageBeginHandler httpMessageBeginFunc, HttpMessageEndHandler httpMessageEndFunc, string caBundleAbsPath = "none", ushort httpListenerPort = 0, ushort httpsListenerPort = 0, uint numThreads = 0) { m_nativeEngine = StaticAssemblyResolver.GetFilteringEngine(firewallCheckFunc, httpMessageBeginFunc, httpMessageEndFunc, caBundleAbsPath, httpListenerPort, httpsListenerPort, numThreads); InitListeners(); }
public HttpFilteringEngine(FirewallCheckHandler firewallCheckFunc, HttpMessageBeginHandler httpMessageBeginFunc, HttpMessageEndHandler httpMessageEndFunc, ushort httpListenerPort = 0, ushort httpsListenerPort = 0, uint numThreads = 0) { BuildCaBundleWithLocalTrustedCerts(); m_nativeEngine = StaticAssemblyResolver.GetFilteringEngine(firewallCheckFunc, httpMessageBeginFunc, httpMessageEndFunc, m_tmpCaBundlePath, httpListenerPort, httpsListenerPort, numThreads); InitListeners(); }
/// <summary> /// Gets a new instance of a trainer from the dynamically resolved mixed managed C++/CLI library. /// </summary> /// <returns> /// A new instance of the trainer class. /// </returns> public static IHttpFilteringEngine GetFilteringEngine(FirewallCheckHandler firewallCheckFunc, HttpMessageBeginHandler httpMessageBeginFunc, HttpMessageEndHandler httpMessageEndFunc, string caBundleAbsPath = "none", ushort httpListenerPort = 0, ushort httpsListenerPort = 0, uint numThreads = 0) { var exportedFeatureExtractors = s_targetAssembly.ExportedTypes.Where(x => x.GetInterfaces().Contains(typeof(IHttpFilteringEngine))); var res = exportedFeatureExtractors.FirstOrDefault(); if (res != null) { IHttpFilteringEngine typedExport = (IHttpFilteringEngine)Activator.CreateInstance(res, firewallCheckFunc, httpMessageBeginFunc, httpMessageEndFunc, caBundleAbsPath, httpListenerPort, httpsListenerPort, numThreads); return(typedExport); } return(null); }