Skip to content

Commit d8b4115

Browse files
committed
Remove CURL library from NME_LOCAL_TOOLKIT
1 parent a580905 commit d8b4115

File tree

10 files changed

+187
-164
lines changed

10 files changed

+187
-164
lines changed

project/ToolkitBuild.xml

+4-2
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292

9393
<!-- Do we need to implement curl in NME -->
9494
<set name="NME_CURL" value="1" />
95-
<unset name="NME_CURL" if="emscripten||winrt||gcw0" />
95+
<unset name="NME_CURL" if="emscripten||winrt||gcw0||NME_LOCAL_TOOLKIT" />
9696

9797
<!-- And allow https ? -->
9898
<set name="NME_SSL" value="1" />
@@ -168,11 +168,12 @@
168168
<include name="${NME_MODPLUG}/files.xml" if="modplug" />
169169
<set name="NME_LIBSDL_MIXER" value="${NATIVE_TOOLKIT_PATH}/sdl-mixer/" />
170170
<include name="${NME_LIBSDL_MIXER}files.xml" if="NME_MIXER" />
171+
172+
<include name="${NATIVE_TOOLKIT_PATH}/curl/files.xml" if="NME_CURL" />
171173
</section>
172174

173175

174176

175-
<include name="${NATIVE_TOOLKIT_PATH}/curl/files.xml" if="NME_CURL" />
176177

177178
<include name="${NATIVE_TOOLKIT_PATH}/angle/files.xml" if="NME_ANGLE" unless="ANGLE_DIR" />
178179
<include name="${ANGLE_DIR}/files.xml" if="NME_ANGLE ANGLE_DIR" />
@@ -402,6 +403,7 @@
402403
<depend files="native-toolkit-sdl-mixer-depends" if="NME_MIXER"/>
403404
</section>
404405

406+
<compilerflag value="-DNME_CURL" if="NME_CURL"/>
405407
<section if="NME_CURL">
406408
<compilerflag value="-DNME_CURL_SSL" if="NME_SSL"/>
407409
</section>

project/src/common/ExternalInterface.cpp

+9-10
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
#endif
1111

1212
#if defined(EMSCRIPTEN) || defined(HX_WINRT)
13-
#define NME_NO_CURL
1413
#define NME_NO_CAMERA
1514
#endif
1615
#if defined(HXCPP_JS_PRIME) || defined(HX_WINRT)
@@ -5491,7 +5490,7 @@ DEFINE_PRIME3v(nme_tilesheet_get_rect);
54915490
// --- URL ----------------------------------------------------------
54925491
value nme_curl_initialize(value inCACertFilePath)
54935492
{
5494-
#ifndef NME_NO_CURL
5493+
#ifdef NME_CURL
54955494
URLLoader::initialize(val_string(inCACertFilePath));
54965495
#endif
54975496
return alloc_null();
@@ -5501,7 +5500,7 @@ DEFINE_PRIM(nme_curl_initialize,1);
55015500

55025501
value nme_curl_create(value inURLRequest)
55035502
{
5504-
#ifndef NME_NO_CURL
5503+
#ifdef NME_CURL
55055504
URLRequest request;
55065505
FromValue(inURLRequest,request);
55075506
URLLoader *loader = URLLoader::create(request);
@@ -5514,7 +5513,7 @@ DEFINE_PRIM(nme_curl_create,1);
55145513

55155514
value nme_curl_process_loaders()
55165515
{
5517-
#ifndef NME_NO_CURL
5516+
#ifdef NME_CURL
55185517
return alloc_bool(URLLoader::processAll());
55195518
#endif
55205519
return alloc_bool(true);
@@ -5524,7 +5523,7 @@ DEFINE_PRIM(nme_curl_process_loaders,0);
55245523

55255524
value nme_curl_update_loader(value inLoader,value outHaxeObj)
55265525
{
5527-
#ifndef NME_NO_CURL
5526+
#ifdef NME_CURL
55285527
URLLoader *loader;
55295528
if (AbstractToObject(inLoader,loader))
55305529
{
@@ -5540,7 +5539,7 @@ DEFINE_PRIM(nme_curl_update_loader,2);
55405539

55415540
value nme_curl_get_error_message(value inLoader)
55425541
{
5543-
#ifndef NME_NO_CURL
5542+
#ifdef NME_CURL
55445543
URLLoader *loader;
55455544
if (AbstractToObject(inLoader,loader))
55465545
{
@@ -5554,7 +5553,7 @@ DEFINE_PRIM(nme_curl_get_error_message,1);
55545553

55555554
value nme_curl_get_code(value inLoader)
55565555
{
5557-
#ifndef NME_NO_CURL
5556+
#ifdef NME_CURL
55585557
URLLoader *loader;
55595558
if (AbstractToObject(inLoader,loader))
55605559
{
@@ -5568,7 +5567,7 @@ DEFINE_PRIM(nme_curl_get_code,1);
55685567

55695568
value nme_curl_get_data(value inLoader)
55705569
{
5571-
#ifndef NME_NO_CURL
5570+
#ifdef NME_CURL
55725571
URLLoader *loader;
55735572
if (AbstractToObject(inLoader,loader))
55745573
{
@@ -5584,7 +5583,7 @@ DEFINE_PRIM(nme_curl_get_data,1);
55845583

55855584
value nme_curl_get_cookies(value inLoader)
55865585
{
5587-
#ifndef NME_NO_CURL
5586+
#ifdef NME_CURL
55885587
URLLoader *loader;
55895588
if (AbstractToObject(inLoader,loader))
55905589
{
@@ -5603,7 +5602,7 @@ DEFINE_PRIM(nme_curl_get_cookies,1);
56035602

56045603
value nme_curl_get_headers(value inLoader)
56055604
{
5606-
#ifndef NME_NO_CURL
5605+
#ifdef NME_CURL
56075606
URLLoader *loader;
56085607
if (AbstractToObject(inLoader,loader))
56095608
{

samples/13-URLLoader/Sample.hx

+64-44
Original file line numberDiff line numberDiff line change
@@ -11,33 +11,36 @@ import nme.errors.SecurityError;
1111
import nme.errors.TypeError;
1212
import nme.net.URLVariables;
1313
import nme.net.URLRequestMethod;
14+
import nme.display.*;
1415

1516

16-
class Sample extends Sprite {
17+
class Sample extends Sprite
18+
{
1719
private var postTextField:TextField;
1820
private var xmlTextField:TextField;
19-
private var externalXML:Xml;
21+
private var externalXML:Xml;
2022
private var loader:URLLoader;
2123

2224
public function new()
23-
{
24-
super();
25-
flash.Lib.current.addChild(this);
26-
27-
//var request:URLRequest = new URLRequest("http://www.w3schools.com/xml/cd_catalog.xml");
28-
var request:URLRequest = new URLRequest("https://twitter.com/");
29-
#if !flash
30-
request.basicAuth("basic","basic");
31-
request.cookieString = "name=value";
25+
{
26+
super();
27+
//nme.Lib.current.addChild(this);
28+
29+
var request:URLRequest = new URLRequest("http://help.websiteos.com/websiteos/example_of_a_simple_html_page.htm");
30+
request.userAgent = "haxe test";
31+
//request.basicAuth("basic","basic");
32+
//request.cookieString = "name=value";
3233
//request.verbose = true;
33-
#end
34+
3435
loader = new URLLoader();
3536
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
3637
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
3738
loader.addEventListener(ProgressEvent.PROGRESS, onProgress);
39+
trace('Request:$request');
3840

3941
try {
4042
loader.load(request);
43+
trace('Loader:$loader');
4144
}
4245
catch (error:SecurityError)
4346
{
@@ -48,37 +51,51 @@ class Sample extends Sprite {
4851
postTextField.x = 10;
4952
postTextField.y = 10;
5053
postTextField.background = true;
51-
postTextField.autoSize = TextFieldAutoSize.LEFT;
54+
postTextField.border = true;
55+
postTextField.width = 400;
56+
postTextField.height = 240;
57+
//postTextField.autoSize = TextFieldAutoSize.LEFT;
58+
postTextField.text = "post ...";
5259

5360
addChild(postTextField);
5461

5562

5663
xmlTextField = new TextField();
5764
xmlTextField.x = 10;
58-
xmlTextField.y = 100;
65+
xmlTextField.y = 260;
5966
xmlTextField.background = true;
60-
xmlTextField.autoSize = TextFieldAutoSize.LEFT;
67+
xmlTextField.border = true;
68+
xmlTextField.width = 400;
69+
xmlTextField.height = 240;
70+
//xmlTextField.autoSize = TextFieldAutoSize.LEFT;
71+
xmlTextField.text = "xml data...";
6172

6273
addChild(xmlTextField);
6374

6475
//var t0 = haxe.Timer.stamp();
6576
//addEventListener( Event.ENTER_FRAME, function(_) trace( haxe.Timer.stamp()-t0 ) );
6677

67-
var image_loader = new flash.display.Loader();
68-
image_loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function(_) {
69-
var bmp:flash.display.Bitmap = cast image_loader.content;
70-
trace("Loaded image " + bmp.bitmapData.width + "x" + bmp.bitmapData.height);
78+
var image_loader = new nme.display.Loader();
79+
image_loader.contentLoaderInfo.addEventListener(nme.events.Event.COMPLETE, function(_) {
80+
var bmp:nme.display.Bitmap = cast image_loader.content;
81+
trace("Loaded image " + bmp.bitmapData);
7182
});
72-
73-
var request:URLRequest = new URLRequest("http://upload.wikimedia.org/wikipedia/en/7/72/Example-serious.jpg");
83+
image_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, e -> {
84+
var tf = new TextField();
85+
tf.text = "Error:" + e;
86+
image_loader.scaleX = image_loader.scaleY = 1.0;
87+
image_loader.addChild(tf);
88+
});
89+
90+
var request:URLRequest = new URLRequest("https://avatars.githubusercontent.com/u/2187351",{s:200,v:4} );
7491
image_loader.load(request);
7592
image_loader.x = 10;
76-
image_loader.y = 180;
77-
image_loader.scaleX = 0.5;
78-
image_loader.scaleY = 0.5;
93+
image_loader.y = 510;
94+
image_loader.scaleX = 0.25;
95+
image_loader.scaleY = 0.25;
7996
addChild(image_loader);
8097

81-
var post = new URLRequest("http://www.snee.com/xml/crud/posttest.cgi");
98+
var post = new URLRequest("https://httpbin.org/anything");
8299
var vars = new URLVariables();
83100
vars.fname = "Milla";
84101
vars.lname = "Jovovich";
@@ -87,11 +104,13 @@ class Sample extends Sprite {
87104
post.data = vars;
88105
//post.verbose = true;
89106
var postLoad = new URLLoader();
107+
postLoad.addEventListener(IOErrorEvent.IO_ERROR, e -> postTextField.htmlText = "Error:" + e );
90108
postLoad.addEventListener(Event.COMPLETE, function(_) {
91109
postTextField.htmlText = postLoad.data.toString();
92110
} );
93111

94-
try {
112+
try
113+
{
95114
postLoad.load(post);
96115
}
97116
catch (error:SecurityError)
@@ -101,28 +120,29 @@ class Sample extends Sprite {
101120

102121
}
103122

104-
function onProgress(event:ProgressEvent)
105-
{
106-
trace("Loaded " + event.bytesLoaded + "/" + event.bytesTotal );
107-
}
108-
109-
private function loaderCompleteHandler(event:Event):Void {
123+
function onProgress(event:ProgressEvent)
124+
{
125+
trace("Loaded " + event.bytesLoaded + "/" + event.bytesTotal );
126+
}
110127

111-
try {
112-
xmlTextField.text = loader.data;
113-
} catch (e:TypeError) {
114-
trace("Could not load the XML file.");
115-
}
128+
private function loaderCompleteHandler(event:Event):Void
129+
{
130+
trace("loaderCompleteHandler!");
131+
try
132+
{
133+
xmlTextField.text = loader.data;
134+
}
135+
catch (e:TypeError)
136+
{
137+
trace("Could not load the XML file.");
138+
}
116139
}
117140

118141

119-
private function errorHandler(e:IOErrorEvent):Void {
120-
xmlTextField.text = "Error:" + e.text;
142+
private function errorHandler(e:IOErrorEvent):Void
143+
{
144+
trace("error " + e);
145+
xmlTextField.text = "Error:" + e.text;
121146
}
122-
123-
public static function main()
124-
{
125-
new Sample();
126-
}
127147
}
128148

samples/13-URLLoader/Sample.nmml

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
/>
1212

1313
<window
14-
width="320"
15-
height="480"
14+
width="480"
15+
height="640"
1616
fps="60"
1717
background="0xffffff"
1818
resizable="true"

src/nme/display/Loader.hx

+10-7
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class Loader extends Sprite
3636
{
3737
if (inBytes == null)
3838
return false;
39-
39+
4040
try
4141
{
4242
nmeImage = BitmapData.loadFromBytes(inBytes);
@@ -68,13 +68,16 @@ class Loader extends Sprite
6868
public function loadBytes(bytes:ByteArray, context:LoaderContext = null)
6969
{
7070
// No "loader context" in nme
71-
if (doLoad(bytes)) {
72-
var event = new Event(Event.COMPLETE);
73-
event.currentTarget = this;
71+
if (doLoad(bytes))
72+
{
73+
var event = new Event(Event.COMPLETE);
74+
event.currentTarget = this;
7475
contentLoaderInfo.dispatchEvent(event);
75-
} else {
76+
}
77+
else
78+
{
7679
contentLoaderInfo.DispatchIOErrorEvent();
77-
}
80+
}
7881
}
7982

8083
public function unload()
@@ -96,7 +99,7 @@ class Loader extends Sprite
9699
contentLoaderInfo.height = 0;
97100
}
98101
var event = new Event(Event.UNLOAD);
99-
event.currentTarget = this;
102+
event.currentTarget = this;
100103
dispatchEvent(event);
101104
}
102105
}

src/nme/display/LoaderInfo.hx

+12-10
Original file line numberDiff line numberDiff line change
@@ -61,17 +61,19 @@ class LoaderInfo extends URLLoader
6161
var dot = pendingURL.lastIndexOf(".");
6262
var extension = dot > 0 ? pendingURL.substr(dot + 1).toLowerCase() : "";
6363

64-
if(request.contentType == null ||
65-
request.contentType.length == 0 ||
66-
request.contentType == "application/x-www-form-urlencoded")
67-
contentType = switch(extension)
64+
if (request.contentType == null ||
65+
request.contentType.length == 0 ||
66+
request.contentType == "application/x-www-form-urlencoded")
6867
{
69-
case "swf": "application/x-shockwave-flash";
70-
case "jpg","jpeg": "image/jpeg";
71-
case "png": "image/png";
72-
case "gif": "image/gif";
73-
default:
74-
throw "Unrecognized file " + pendingURL;
68+
contentType = switch(extension)
69+
{
70+
case "swf": "application/x-shockwave-flash";
71+
case "jpg","jpeg": "image/jpeg";
72+
case "png": "image/png";
73+
case "gif": "image/gif";
74+
default: null;
75+
//throw "Unrecognized file " + pendingURL;
76+
}
7577
}
7678

7779

src/nme/net/HttpLoader.hx

-5
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ class HttpLoader
7070

7171
http = new Http(inRequest.url);
7272
http.onError = onError;
73-
7473
http.onStatus = onStatus;
7574

7675
for(header in urlRequest.requestHeaders)
@@ -81,11 +80,7 @@ class HttpLoader
8180

8281
var isPost = urlRequest.method==URLRequestMethod.POST;
8382
if (isPost)
84-
#if haxe4
8583
http.setPostBytes(urlRequest.nmeBytes);
86-
#else
87-
http.setPostData(urlRequest.nmeBytes.toString());
88-
#end
8984

9085
runAsync(run);
9186
}

0 commit comments

Comments
 (0)