This is an automated email from the ASF dual-hosted git repository.

piotrz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
     new 133608f  HTTPService: Change type of the contentData to Object
133608f is described below

commit 133608f8c79dc2b9745724c22ac80fcea9decaad
Author: Piotr Zarzycki <[email protected]>
AuthorDate: Mon May 13 13:11:41 2019 +0200

    HTTPService: Change type of the contentData to Object
    
    - Introduced changes expands ability to send trough the service different 
type of data than only String. We are wrapping XMLHttpRequest which allows send 
trough the method send: Document, Blob, BufferSource, FormData, 
URLSearchParams, ReadableStream, or USVString object.
    - Using getter methods instead setter for timeout, method, contentData
---
 .../royale/org/apache/royale/net/HTTPService.as    | 65 ++++++++++++++--------
 1 file changed, 41 insertions(+), 24 deletions(-)

diff --git 
a/frameworks/projects/Network/src/main/royale/org/apache/royale/net/HTTPService.as
 
b/frameworks/projects/Network/src/main/royale/org/apache/royale/net/HTTPService.as
index dab6700..797e68b 100644
--- 
a/frameworks/projects/Network/src/main/royale/org/apache/royale/net/HTTPService.as
+++ 
b/frameworks/projects/Network/src/main/royale/org/apache/royale/net/HTTPService.as
@@ -147,7 +147,7 @@ package org.apache.royale.net
                        }
                }
                
-               private var _contentData:String;
+               private var _contentData:Object;
 
         /**
          *  The text to send to the server, if any.
@@ -157,7 +157,7 @@ package org.apache.royale.net
          *  @playerversion AIR 2.6
          *  @productversion Royale 0.0
          */
-               public function get contentData():String
+               public function get contentData():Object
                {
                        return _contentData;
                }
@@ -165,7 +165,7 @@ package org.apache.royale.net
         /**
          *  @private
          */
-               public function set contentData(value:String):void
+               public function set contentData(value:Object):void
                {
                        if (_contentData != value)
                        {
@@ -575,12 +575,18 @@ package org.apache.royale.net
                     if (method == HTTPConstants.GET)
                     {
                         if (url.indexOf("?") != -1)
+                        {
                             url += contentData;
+                        }
                         else
+                        {
                             url += "?" + contentData;
+                        }
                     }
                     else
+                    {
                         request.data = contentData;
+                    }
                 }
                 urlLoader.addEventListener(flash.events.Event.COMPLETE, 
completeHandler);
                 urlLoader.addEventListener(IOErrorEvent.IO_ERROR, 
ioErrorHandler);
@@ -589,6 +595,7 @@ package org.apache.royale.net
                 urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, 
statusHandler);
                 urlLoader.load(request);
             }
+
             COMPILE::JS
             {
                 var element:XMLHttpRequest = this.element as XMLHttpRequest;
@@ -596,27 +603,34 @@ package org.apache.royale.net
                 
                 url = _url;
                 
-                var contentData:String = null;
-                if (_contentData != null) {
-                    if (_method == HTTPConstants.GET) {
-                        if (url.indexOf('?') != -1) {
-                            url += _contentData;
-                        } else {
-                            url += '?' + _contentData;
+                var currentData:Object = null;
+                if (contentData != null)
+                {
+                    if (method == HTTPConstants.GET)
+                    {
+                        if (url.indexOf('?') != -1)
+                        {
+                            url += String(contentData);
                         }
-                    } else {
-                        contentData = _contentData;
+                        else
+                        {
+                            url += '?' + String(contentData);
+                        }
+                    }
+                    else
+                    {
+                        currentData = contentData;
                     }
                 }
                 
-                element.open(_method, _url, true);
-                element.timeout = _timeout;
+                element.open(method, url, true);
+                element.timeout = timeout;
                 
                 var sawContentType:Boolean = false;
-                if (_headers) {
-                    var n:int = _headers.length;
+                if (headers) {
+                    var n:int = headers.length;
                     for (var i:int = 0; i < n; i++) {
-                        var header:HTTPHeader = _headers[i];
+                        var header:HTTPHeader = headers[i];
                         if (header.name == HTTPHeader.CONTENT_TYPE) {
                             sawContentType = true;
                         }
@@ -625,15 +639,18 @@ package org.apache.royale.net
                     }
                 }
                 
-                if (_method != HTTPConstants.GET &&
-                    !sawContentType && contentData) {
-                    element.setRequestHeader(
-                        HTTPHeader.CONTENT_TYPE, _contentType);
+                if (method != HTTPConstants.GET &&
+                    !sawContentType && currentData)
+                {
+                    element.setRequestHeader(HTTPHeader.CONTENT_TYPE, 
contentType);
                 }
                 
-                if (contentData) {
-                    element.send(contentData);
-                } else {
+                if (currentData)
+                {
+                    element.send(currentData);
+                }
+                else
+                {
                     element.send();
                 }
 

Reply via email to