コード例 #1
0
ファイル: ApiBuilderTests.cs プロジェクト: tonto7973/xim
        public void Build_AddsSimulatorToSimulation()
        {
            ISimulation simulation = Substitute.For <ISimulation, IAddSimulator>();
            var         apiBuilder = new ApiBuilder(simulation);

            ((IAddSimulator)simulation).Add(Arg.Any <ApiSimulator>())
            .Returns(info => info.ArgAt <ApiSimulator>(0));

            var apiSimulator = (ApiSimulator)apiBuilder.Build();

            ((IAddSimulator)simulation).Received(1).Add(apiSimulator);
        }
コード例 #2
0
        public void Start()
        {
            LoggerConfig.Init();
            Logger = LogManager.GetCurrentClassLogger();

            Logger.Info("Starting request obfuscator...");

            FiddlerApplication.Shutdown();

            InstallCertificate();

            var type = typeof(IApiClient);

            var apiClients = AppDomain.CurrentDomain
                             .GetAssemblies()
                             .SelectMany(s => s.GetTypes())
                             .Where(p => type.IsAssignableFrom(p) && !p.IsAbstract);

            foreach (var api in apiClients)
            {
                var apiClient  = Activator.CreateInstance(api) as IApiClient;
                var apiBuilder = new ApiBuilder();

                apiClient.Configure(apiBuilder);

                foreach (var handler in apiBuilder.Build())
                {
                    Instance += session => handler(session);
                }
            }

            const FiddlerCoreStartupFlags flags = FiddlerCoreStartupFlags.AllowRemoteClients | FiddlerCoreStartupFlags.CaptureLocalhostTraffic | FiddlerCoreStartupFlags.DecryptSSL | FiddlerCoreStartupFlags.MonitorAllConnections;
            const short proxyPort = 8888;

            FiddlerApplication.Startup(proxyPort, flags);

            Logger.Info("Started.");
        }