コード例 #1
0
 public static void SendRequestAsync(
     object[] requestNativeData,
     string method,
     string url,
     List <string> headers,
     int contentMode, // 0 - null, 1 - text, 2 - binary
     object content,
     bool outputIsBinary,
     VmContext vmContext,
     Value callback,
     object[] mutexDataIgnored) //
 {
     requestNativeData[1] = new object();
     System.ComponentModel.BackgroundWorker bgWorker = new System.ComponentModel.BackgroundWorker();
     bgWorker.DoWork += (sender, e) =>
     {
         HttpResponseValue response = SendRequestSyncImpl(requestNativeData, method, url, headers, contentMode, content, outputIsBinary);
         lock (requestNativeData[1])
         {
             requestNativeData[0] = response;
             requestNativeData[2] = true;
         }
     };
     bgWorker.RunWorkerCompleted += (sender, e) =>
     {
         Interpreter.Vm.CrayonWrapper.runInterpreterWithFunctionPointer(vmContext, callback, new Value[0]);
     };
     bgWorker.RunWorkerAsync();
 }
コード例 #2
0
        public static void ReadResponseData(
            object httpRequest,
            int[] intOut,
            string[] stringOut,
            object[] responseNativeData,
            List <string> headersOut)
        {
            HttpResponseValue response = (HttpResponseValue)httpRequest;

            intOut[0]             = response.StatusCode;
            intOut[1]             = response.IsContentBinary ? 1 : 0;
            stringOut[0]          = response.StatusMessage;
            stringOut[1]          = response.ContentString;
            responseNativeData[0] = response.ContentBytes;
            headersOut.AddRange(response.Headers);
        }
コード例 #3
0
        public static bool SendRequestSync(
            object[] requestNativeData,
            string method,
            string url,
            List <string> headers,
            int contentMode, // 0 - null, 1 - text, 2 - binary
            object content,
            bool outputIsBinary)
        {
            HttpResponseValue response = SendRequestSyncImpl(requestNativeData, method, url, headers, contentMode, content, outputIsBinary);

            requestNativeData[0] = response;
            requestNativeData[2] = true;

            return(false);
        }
コード例 #4
0
 public static void SendRequestAsync(
     object[] requestNativeData,
     string method,
     string url,
     List <string> headers,
     int contentMode, // 0 - null, 1 - text, 2 - binary
     object content,
     bool outputIsBinary)
 {
     requestNativeData[1] = new object();
     System.ComponentModel.BackgroundWorker bgWorker = new System.ComponentModel.BackgroundWorker();
     bgWorker.DoWork += (sender, e) =>
     {
         HttpResponseValue response = SendRequestSyncImpl(requestNativeData, method, url, headers, contentMode, content, outputIsBinary);
         lock (requestNativeData[1])
         {
             requestNativeData[0] = response;
             requestNativeData[2] = true;
         }
     };
     bgWorker.RunWorkerAsync();
 }