Ejemplo n.º 1
1
        public new IAsyncResult BeginGetResponse (AsyncCallback callback, object state)
        {
            var result = new NetAsyncResult (state);

            xhr = new XmlHttpRequest ();


            xhr.ReadyStateChange += e =>
            {
                if (this.xhr.readyState == this.xhr.DONE) {
                    callback (result);
                }
            };

            if (Method == null)
            {
                Method = "GET";
            }

            xhr.Open (Method, this.uri.AbsoluteUri);

            if (this._headers != null) {
                for (int i = 0; i < this.Headers.Count; i++) {
                    var key = this.Headers.GetKey (i);
                    xhr.SetRequestHeader (key, this.Headers[key]);
                }
            }

             if (this._requestStream != null)
            {
                var sr = new System.IO.StreamReader (this._requestStream);
                var requestDataStr = sr.ReadToEnd();
                xhr.Send(requestDataStr);
            } else {
                xhr.Send ();
            }

            return result;
        }
Ejemplo n.º 2
0
        private void LoadWines()
        {
            int skip = _pageIndex.GetValue() * WinesPerPage;

            XmlHttpRequest xhr = new XmlHttpRequest();

            xhr.OnReadyStateChange = delegate() {
                if ((xhr.ReadyState == ReadyState.Loaded) &&
                    (xhr.Status == 200))
                {
                    WineResults results = Json.ParseData <WineResults>(xhr.ResponseText);

                    if (results.Count != 0)
                    {
                        _pages.SetValue(Math.Ceil(results.Count / WinesPerPage));
                    }

                    Wines.SetValue(results.Wines);

                    Wine selectedWine = null;
                    if ((results.Wines != null) && (results.Wines.Length != 0))
                    {
                        selectedWine = results.Wines[0];
                    }
                    SelectedWine.SetValue(selectedWine);
                }
            };

            xhr.Open(HttpVerb.Get, "/wines/?skip=" + skip + "&count=" + WinesPerPage, true);
            xhr.Send();
        }
Ejemplo n.º 3
0
        public void Ajax()
        {
            var resourceProvider = Mock.Of <IResourceProvider>().Resource("http://localhost/unicorn.xml", "hello");

            string responseText = null;

            var engine = EngineBuilder.New()
                         .SetResourceProvider(resourceProvider)
                         .UseJint()
                         .Build();

            var client = new XmlHttpRequest(engine.ResourceProvider, () => this, engine.Document, (u, m) => engine.CreateRequest(u, m));

            client.OnReadyStateChange += () =>
            {
                if (client.ReadyState == XmlHttpRequest.DONE)
                {
                    if (client.Status == 200)
                    {
                        responseText = client.ResponseText;
                    }
                }
            };
            client.Open("GET", "http://localhost/unicorn.xml", false);
            client.Send();

            Mock.Get(resourceProvider).Verify(x => x.SendRequestAsync(It.IsAny <Request>()), Times.Once());
            Assert.AreEqual("hello", responseText);
        }
Ejemplo n.º 4
0
        private XmlHttpRequest GetStyleMethodInternalAsync(string method, Action <IHttpResponse> callback)
        {
            XmlHttpRequest xmlHttpRequest = null;

            try
            {
                xmlHttpRequest = ConfigureWebRequest(method, Url);
                if (HasBody && (method == "DELETE" || method == "OPTIONS"))
                {
                    xmlHttpRequest.ContentType = RequestContentType;
                    WriteRequestBodyAsync(xmlHttpRequest, callback);
                }
                else
                {
                    LogHttpRequest(xmlHttpRequest);
                    xmlHttpRequest.Send();
                    monoBehaviour.StartCoroutine(GetResponse(callback, xmlHttpRequest));
                }
            }
            catch (Exception ex)
            {
                ExecuteCallback(CreateErrorResponse(ex), callback);
            }
            return(xmlHttpRequest);
        }
Ejemplo n.º 5
0
        private void button18_Click(object sender, EventArgs e)
        {
            var xhr = new XmlHttpRequest();

            xhr.OnReadyStateChange = () => MessageBox.Show(xhr.ResponseText);

            xhr.Open("GET", @"http://www.google.de/search?q=c#");
            xhr.Send(null);
        }
Ejemplo n.º 6
0
        XmlHttpRequest Send(string type, string data)
        {
            var sync             = new Object();
            var resourceProvider = Mocks.ResourceProvider("http://data", data);
            var xhr = new XmlHttpRequest(resourceProvider, () => sync, null, (s, s1) => new Request(s1, UriHelper.GetUri(s)));

            xhr.Open("GET", "http://data", false);
            xhr.ResponseType = type;
            xhr.Send();
            return(xhr);
        }
Ejemplo n.º 7
0
        public void HashShouldNotBeSent()
        {
            var sync             = new Object();
            var resourceProvider = Mocks.ResourceProvider("http://data", "hello");
            var xhr = new XmlHttpRequest(resourceProvider, () => sync, null, (s, s1) => new Request(s1, UriHelper.GetUri(s)));

            xhr.Open("GET", "http://data#some", false);
            xhr.Send();

            Assert.AreEqual("hello", xhr.Response);
        }
Ejemplo n.º 8
0
 private void WriteRequestBodyAsync(XmlHttpRequest webRequest, Action <IHttpResponse> callback)
 {
     if (HasBody || HasFiles || AlwaysMultipartFormData)
     {
         if (RequestBodyBytes != null)
         {
             webRequest.Send(RequestBodyBytes);
         }
         else if (RequestBody != null)
         {
             webRequest.SendText(RequestBody);
         }
         else
         {
             webRequest.Send();
         }
         monoBehaviour.StartCoroutine(GetResponse(callback, webRequest));
     }
     else
     {
         webRequest.Send();
         monoBehaviour.StartCoroutine(GetResponse(callback, webRequest));
     }
 }
        private static void pollJira()
        {
            clearPollTimer();
            pollNowButton.Disabled = true;
            string url =
                serverUrl
                + "/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+%3D+"
                + projectKey
                + "+AND+"
                + currentFilter.FilterDef
                + "&tempMax=1000";

            labelInfo.InnerHTML = "Polling JIRA server...";

            req = new XmlHttpRequest();
            req.Open("GET", getAuthenticatedUrl(url));
            req.OnReadyStateChange = onReadyStateChange;
            req.Send();
        }
Ejemplo n.º 10
0
 private void CORS()
 {
     xhr = new XmlHttpRequest();
     try
     {
         xhr.Open(HttpVerb.Get, _url);
         xhr.OnReadyStateChange = delegate()
         {
             if (xhr.ReadyState == ReadyState.Loaded)
             {
                 LoadData(xhr.ResponseText);
             }
         };
         xhr.Send();
     }
     catch (Exception err)
     {
         _message = err.Message;
         State    = StateType.Error;
         throw (err);
     }
 }
Ejemplo n.º 11
0
        public void ResponseTypeArrayBuffer()
        {
            var sync             = new Object();
            var resourceProvider = Mocks.ResourceProvider("http://data", new byte[] { 10, 1, 0 });
            var xhr = new XmlHttpRequest(resourceProvider, () => sync, null, (s, s1) => new Request(s1, UriHelper.GetUri(s)));

            xhr.Open("GET", "http://data", false);
            xhr.ResponseType = "arraybuffer";
            xhr.Send();

            Assert.IsInstanceOf <ArrayBuffer>(xhr.Response);
            var buffer = (ArrayBuffer)xhr.Response;

            Assert.AreEqual(3, buffer.ByteLength);
            var barr = new Int8Array(buffer);

            Assert.AreEqual(10, barr[0]);
            Assert.AreEqual(1, barr[1]);
            Assert.AreEqual(0, barr[2]);
            Assert.Throws <Exception>(() =>
            {
                var x = xhr.ResponseText;
            });
        }
Ejemplo n.º 12
0
        public override void LoadData(string path)
        {
            table = new Table();

            XmlHttpRequest xhr = new XmlHttpRequest();

            xhr.Open(HttpVerb.Get, path);
            xhr.OnReadyStateChange = delegate()
            {
                if (xhr.ReadyState == ReadyState.Loaded)
                {
                    table.LoadFromString(xhr.ResponseText, false, true, true);
                    ComputeDateDomainRange(-1, -1);

                    if (DynamicData && AutoUpdate)
                    {
                        DynamicUpdate();
                    }
                    dataDirty = true;
                    dirty     = true;
                }
            };
            xhr.Send();
        }
        private static XmlDocument GetResponse(string soapXmlPacket, string action, Action <object> asyncCallback)
        {
            bool isAsync = (asyncCallback != null);

            string         xml            = getSoapEnvelope(soapXmlPacket);
            Exception      msg            = null;
            XmlHttpRequest xmlHttpRequest = new XmlHttpRequest();



            xmlHttpRequest.Open("POST", GetServerUrl() + "/XRMServices/2011/Organization.svc/web", isAsync);
            xmlHttpRequest.SetRequestHeader("SOAPAction", "http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/" + action);
            xmlHttpRequest.SetRequestHeader("Content-Type", "text/xml; charset=utf-8");

            // This is only needed when debugging via localhost - and accessing the CRM webservices cross domain in chrome
            if (WithCredentials)
            {
                Script.Literal("{0}.withCredentials = true;", xmlHttpRequest);
            }

            if (isAsync)
            {
                xmlHttpRequest.OnReadyStateChange = delegate()
                {
                    if (xmlHttpRequest == null)
                    {
                        return;
                    }
                    if (xmlHttpRequest.ReadyState == ReadyState.Loaded)
                    {
                        // Capture the result
                        XmlDocument resultXml = xmlHttpRequest.ResponseXml;
                        Exception   errorMsg  = null;
                        if (xmlHttpRequest.Status != 200)
                        {
                            errorMsg = GetSoapFault(resultXml);
                        }
                        // Tidy Up
                        Script.Literal("delete {0}", xmlHttpRequest);

                        xmlHttpRequest = null;

                        if (errorMsg != null)
                        {
                            asyncCallback(errorMsg);
                        }
                        else
                        {
                            // Callback
                            asyncCallback(resultXml);
                        }
                    }
                };

                xmlHttpRequest.Send(xml);

                return(null);
            }
            else
            {
                xmlHttpRequest.Send(xml);

                // Capture the result
                XmlDocument resultXml = xmlHttpRequest.ResponseXml;

                // Check for errors.
                if (xmlHttpRequest.Status != 200)
                {
                    msg = GetSoapFault(resultXml);
                }
                // Tidy Up
                Script.Literal("delete {0};", xmlHttpRequest);
                xmlHttpRequest = null;

                if (msg != null)
                {
                    throw msg;
                }
                else
                {
                    // Return
                    return(resultXml);
                }
            }
        }