Browse Source

WIP httprequest tweaks.

Mark Sibly 7 years ago
parent
commit
14c98e6802

+ 1 - 0
bananas/httprequest/httprequest_test.monkey2

@@ -1,3 +1,4 @@
+
 Namespace myapp
 
 #Import "<std>"

+ 10 - 28
modules/httprequest/httprequest.monkey2

@@ -80,50 +80,36 @@ Class HttpRequestBase
 	
 	Method Open( req:String,url:String )
 		
-		If _readyState<>ReadyState.Unsent Return
-		
-		_method=req
-		
-		_url=url
-		
-		OnOpen()
-		
-		_readyState=ReadyState.Opened
-		
-		ReadyStateChanged()
+		OnOpen( req,url )
 	End
 	
 	Method SetHeader( header:String,value:String )
 		
-		If _readyState<>ReadyState.Opened Return
-		
 		OnSetHeader( header,value )
 	End
 	
-	Method Send()
-		
-		Send( "" )
-	End
-	
-	Method Send( text:String )
-
-		If _readyState<>ReadyState.Opened Return
+	Method Send( text:String="" )
 		
 		OnSend( text )
 	End
 	
 	Protected
 	
+	Field _readyState:ReadyState
 	Field _timeout:Float=10.0
 	Field _response:String
 	Field _status:Int=-1
-	Field _method:String
+	Field _req:String
 	Field _url:String
 	
-	Method OnOpen() Virtual
+	Method OnOpen( req:String,url:String ) Virtual
+		_req=req
+		_url=url
+		SetReadyState( ReadyState.Opened )
 	End
 
-	Method OnSetHeader( header:String,value:String ) Abstract
+	Method OnSetHeader( header:String,value:String ) Virtual
+	End
 	
 	Method OnSend( text:String ) Abstract
 	
@@ -136,9 +122,5 @@ Class HttpRequestBase
 		ReadyStateChanged()
 	End
 	
-	Private
-	
-	Field _readyState:ReadyState
-	
 End
 

+ 2 - 3
modules/httprequest/httprequest_android.monkey2

@@ -47,13 +47,13 @@ Class HttpRequest Extends HttpRequestBase
 	
 	Protected
 	
-	Method OnOpen() Override
+	Method OnOpen( req:String,url:String ) Override
 		
 		OnMainFiber( Lambda()
 		
 			Local env:=Android_JNI_GetEnv()
 		
-			env.CallVoidMethod( _obj,_open,New Variant[]( _method,_url ) )
+			env.CallVoidMethod( _obj,_open,New Variant[]( req,url ) )
 			
 		End )
 	End
@@ -80,7 +80,6 @@ Class HttpRequest Extends HttpRequestBase
 			env.CallVoidMethod( _obj,_send,New Variant[]( text,timeout ) )
 		
 		End )
-	
 	End
 	
 	Private

+ 4 - 10
modules/httprequest/httprequest_desktop.monkey2

@@ -8,9 +8,6 @@ Class HttpRequest Extends HttpRequestBase
 	
 	Protected
 
-	Method OnSetHeader( header:String,value:String ) Override
-	End
-	
 	Method OnSend( text:String ) Override
 		
 		Global id:=0
@@ -19,13 +16,11 @@ Class HttpRequest Extends HttpRequestBase
 		
 		Local tmp:=GetEnv( "TMP" )+"\wget-"+id+".txt"
 		
-	#if __TARGET__="macos"
-	
-		Local cmd:="curl -s -m "+timeout+" -o ~q"+tmp+"~q ~q"+url+"~q"
-		
+	#if __TARGET__="windows"
+		Local post_data:=_req="POST" ? " -post-data=~q"+text+"~q" Else ""
+		Local cmd:="wget -q -T "+_timeout+" -O ~q"+tmp+"~q --method="+_req+post_data+" ~q"+_url+"~q"
 	#else
-		Local post_data:=_method="POST" ? " -post-data=~q"+text+"~q" Else ""
-		Local cmd:="wget -q -T "+_timeout+" -O ~q"+tmp+"~q --method="+_method+post_data+" ~q"+_url+"~q"
+		Local cmd:="curl -s -m "+timeout+" -o ~q"+tmp+"~q ~q"+url+"~q"
 	#endif
 		
 		Local process:=New Process
@@ -54,6 +49,5 @@ Class HttpRequest Extends HttpRequestBase
 		SetReadyState( ReadyState.Loading )
 		
 		process.Start( cmd )
-		
 	End
 End

+ 1 - 4
modules/httprequest/httprequest_emscripten.monkey2

@@ -9,16 +9,13 @@ Class HttpRequest Extends HttpRequestBase
 	
 	Protected
 	
-	Method OnSetHeader( header:String,value:String ) Override
-	End
-	
 	Method OnSend( text:String ) Override
 		
 		Local attr:emscripten_fetch_attr_t
 		
 		emscripten_fetch_attr_init( Varptr attr )
 		
-		_method.ToCString( attr.requestMethod,4 )
+		_req.ToCString( attr.requestMethod,4 )
 		attr.attributes=EMSCRIPTEN_FETCH_LOAD_TO_MEMORY
 		attr.onsuccess=FetchSuccess
 		attr.onerror=FetchError