示例#1
0
        public ShellWebConnection(
            IWebConnection webConnection,
            WebMethod method,
            string url,
            byte[] content,
            string contentType,
            CookiesFromBrowser cookiesFromBrowser,
            CallingFrom callingFrom)
            : base(webConnection.WebServer, callingFrom, webConnection.Generation + 1)
        {
            _Content = new WebConnectionContent.InMemory(content);
            _ContentType = contentType;
            _Session = webConnection.Session;
            _Method = method;
            _CookiesFromBrowser = cookiesFromBrowser;
            _CookiesToSet = webConnection.CookiesToSet;
            _HttpVersion = webConnection.HttpVersion;
            _RequestedHost = webConnection.RequestedHost;
            _Headers = new Dictionary<string, string>(webConnection.Headers);
            _MimeReader = webConnection.MimeReader;

            BaseWebConnection = webConnection;

            DetermineRequestedFileAndGetParameters(url);
            TryDecodePostParameters();
        }
示例#2
0
 public ShellWebConnection(
     string url,
     IWebConnection webConnection,
     RequestParameters postParameters,
     CookiesFromBrowser cookiesFromBrowser)
     : this(url, webConnection, postParameters, cookiesFromBrowser, webConnection.CallingFrom)
 {
 }
示例#3
0
 public ShellWebConnection(
     string url,
     IWebConnection webConnection,
     RequestParameters postParameters,
     CookiesFromBrowser cookiesFromBrowser,
     CallingFrom callingFrom)
     : this(url, webConnection, postParameters, cookiesFromBrowser, callingFrom, WebMethod.GET)
 {
 }
 public BlockingShellWebConnection(
     IWebConnection webConnection,
     WebMethod method,
     string url,
     byte[] content,
     string contentType,
     CookiesFromBrowser cookiesFromBrowser,
     CallingFrom callingFrom)
     : base(webConnection, method, url, content, contentType, cookiesFromBrowser, callingFrom)
 {
 }
 public BlockingShellWebConnection(
     IWebServer webServer,
     ISession session,
     string url,
     byte[] content,
     string contentType,
     CookiesFromBrowser cookiesFromBrowser,
     CallingFrom callingFrom,
     WebMethod method)
     : base(webServer, session, url, content, contentType, cookiesFromBrowser, callingFrom, method)
 {
 }
 public BlockingShellWebConnection(
     IWebConnection webConnection,
     ISession session,
     string requestedFile,
     RequestParameters getParameters,
     byte[] content,
     string contentType,
     CookiesFromBrowser cookiesFromBrowser,
     CallingFrom callingFrom)
     : base(webConnection, session, requestedFile, getParameters, content, contentType, cookiesFromBrowser, callingFrom)
 {
 }
示例#7
0
        public ShellWebConnection(
            IWebConnection webConnection,
            ISession session,
            string requestedFile,
            RequestParameters getParameters,
            byte[] content,
            string contentType,
            CookiesFromBrowser cookiesFromBrowser,
            CallingFrom callingFrom)
            : base(webConnection.WebServer, callingFrom, webConnection.Generation + 1)
        {
            _Content = new WebConnectionContent.InMemory(content);
            _ContentType = contentType;
            _Session = session;
            _Method = WebMethod.GET;
            _CookiesFromBrowser = cookiesFromBrowser;
            _CookiesToSet = webConnection.CookiesToSet;
            _HttpVersion = webConnection.HttpVersion;
            _RequestedHost = webConnection.RequestedHost;
            _Headers = new Dictionary<string, string>(webConnection.Headers);
            _MimeReader = webConnection.MimeReader;

            BaseWebConnection = webConnection;

            _RequestedFile = requestedFile;
            _GetParameters = getParameters;
            _PostParameters = null;
        }
示例#8
0
        /// <summary>
        /// Constructor for when a web request is generated publicly instead of externally
        /// </summary>
        /// <param name="webServer"></param>
        /// <param name="session"></param>
        /// <param name="url"></param>
        /// <param name="content"></param>
        /// <param name="contentType"></param>
        /// <param name="cookiesFromBrowser"></param>
        /// <param name="callingFrom"></param>
        /// <param name="method"></param>
        public ShellWebConnection(
            IWebServer webServer,
            ISession session,
            string url,
            byte[] content,
            string contentType,
            CookiesFromBrowser cookiesFromBrowser,
            CallingFrom callingFrom,
            WebMethod method)
            : base(webServer, callingFrom, 0)
        {
            _Content = new WebConnectionContent.InMemory(content);
            _ContentType = contentType;
            _Session = session;
            _Method = method;
            _CookiesFromBrowser = cookiesFromBrowser;
            _CookiesToSet = new List<CookieToSet>();
            _HttpVersion = 1;
            _RequestedHost = null;
            _Headers = new Dictionary<string, string>();

            DetermineRequestedFileAndGetParameters(url);

            TryDecodePostParameters();

            if (null == BaseWebConnection)
                BaseWebConnection = this;
        }
示例#9
0
        public ShellWebConnection(
            string url,
            IWebConnection webConnection,
            RequestParameters postParameters,
            CookiesFromBrowser cookiesFromBrowser,
            CallingFrom callingFrom,
            WebMethod method)
            : base(webConnection.WebServer, callingFrom, webConnection.Generation + 1)
        {
            _PostParameters = postParameters;
            _Content = webConnection.Content;
            _ContentType = webConnection.ContentType;
            _Session = webConnection.Session;
            _Method = method;
            _CookiesFromBrowser = cookiesFromBrowser;
            _CookiesToSet = webConnection.CookiesToSet;
            _HttpVersion = webConnection.HttpVersion;
            _RequestedHost = webConnection.RequestedHost;
            _Headers = new Dictionary<string, string>(webConnection.Headers);
            _MimeReader = webConnection.MimeReader;

            BaseWebConnection = webConnection;

            DetermineRequestedFileAndGetParameters(url);
        }
示例#10
0
        protected void ReadPropertiesFromHeader()
        {
            // Parse out cookies from client
            if (Headers.ContainsKey("COOKIE"))
                _CookiesFromBrowser = new CookiesFromBrowser(Headers["COOKIE"]);
            else
                _CookiesFromBrowser = new CookiesFromBrowser();

            if (_Headers.ContainsKey("IF-MODIFIED-SINCE"))
                _IfModifiedSince = DateTime.Parse(_Headers["IF-MODIFIED-SINCE"]);
            else
                _IfModifiedSince = null;

            if (_Headers.ContainsKey("REFERER"))
                _Referer = _Headers["REFERER"];
            else
                _Referer = null;

            if (_Headers.ContainsKey("CONTENT-TYPE"))
                _ContentType = _Headers["CONTENT-TYPE"];
            else
                _ContentType = null;

            if (_Headers.ContainsKey("HOST"))
                _RequestedHost = _Headers["HOST"];
            else
                _RequestedHost = null;
        }