Ejemplo n.º 1
0
        private void BeforeRequestProcessing(IFiddlerOverrideProvider provider, Session session)
        {
            var overrideMode = provider.GetOverrideMode(session.fullUrl);

            if (overrideMode == FiddlerOverrideMode.Normal)
            {
                session.bBufferResponse = true;
            }
            else if (overrideMode == FiddlerOverrideMode.BypassServer)
            {
                session.utilCreateResponseAndBypassServer();
            }
        }
Ejemplo n.º 2
0
 public void UnregisterFilesOverrideProvider(IFiddlerOverrideProvider provider)
 {
     ServiceLocator.GetInstance <IApplicationServices>().StartNewParallelTask(() =>
     {
         _overridesProvidersLockSlim.EnterWriteLock();
         try
         {
             _overridesProviders.Remove(provider);
         }
         finally
         {
             _overridesProvidersLockSlim.ExitWriteLock();
         }
     });
 }
Ejemplo n.º 3
0
        private void BeforeResponseProcessing(IFiddlerOverrideProvider provider, Session session)
        {
            var overrideMode = provider.GetOverrideMode(session.fullUrl);

            if (overrideMode == FiddlerOverrideMode.NoOverride)
            {
                return;
            }

            AppendAntiCacheHeaders(session);

            var overrideContentResponse = provider.GetOverrideContent(session.fullUrl, session.GetResponseBodyAsString());

            if (overrideContentResponse == null || overrideContentResponse.Content == null)
            {
                return;
            }


            foreach (var h in (overrideContentResponse.ExtraHttpHeaders ?? new KeyValuePair <string, string> [0]))
            {
                session.ResponseHeaders.Add(h.Key, h.Value);
            }

            if (overrideMode == FiddlerOverrideMode.HeadersOnly)
            {
                return;
            }


            if (overrideContentResponse.Content.GetType() == typeof(byte[]))
            {
                var contentBytes = (byte[])overrideContentResponse.Content;

                using (var memS = new MemoryStream(contentBytes))
                {
                    session.LoadResponseFromStream(memS, string.Empty);
                }
            }
            else
            {
                session.utilSetResponseBody(overrideContentResponse.Content.ToString());
            }
        }