Beispiel #1
0
        public FiddlerOverrideContent GetOverrideContent(string url, string currentBodyContent)
        {
            if (_socketsSetupOverrideProvider == null)
            {
                return(new FiddlerOverrideContent(currentBodyContent));
            }



            if (UseMainProxyMock)
            {
                return(_socketsSetupOverrideProvider.GetOverrideContent(url, currentBodyContent));
            }
            else
            {
                return(new FiddlerOverrideContent(currentBodyContent));
            }
        }
Beispiel #2
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());
            }
        }