XhrHttpHTML 5 for monkey

Monkey Forums/User Modules/XhrHttpHTML 5 for monkey

Rushino(Posted 2012) [#1]
XhrHttpHTML 5 is a little networking module for HTML 5 which enable you to do GET and POST requests easily. Its built on the XmlHttpRequest level 2 architecture. I made this for the game i am creating which will communate with a server api in C# (using the PubNub architecture) so i release it as open source under the mit license.


Here the feature :

- GET and POST support.
- Handle request status easily.
- The requests are async which mean it won't block your game.
- There a kind of timeout support integrated however you could easily reproduce that. If the request isnt success in like 5 seconds you could easily resend a new one or show an error.
- Can make more than one request with the same object.

Demo is included. There exactly 2 classes.. the XhrObject which is the actual object needed for the requests and the XhrStatus class.

Class XhrStatus

Const IDLE:Int = 0
Const CONNECTED:Int = 1
Const REQUEST_SENT:Int = 2
Const SUCCESS:Int = 5
Const ERROR:Int = 6
Const TIMEOUT:Int = 7


The XhrStatus class is essentially only constants which define the status number of the request. So doing

xhrobject.GetStatus() will get you the status of the request, if its a success you can compare against the SUCCESS constant.

or just use the IsSuccess method implemented which check that for you.

Here the full list of methods the object provide..

Class XhrObject = "XhrObject"
Method Get:Void(url:String, timeout:Int = 3000)
Method Post:Void(url:String, args:String, timeout:Int = 3000)
Method GetServerStatusCode:Int()
Method GetStatus:Int()
Method GetRequestState:Int()
Method GetResult:String()
Method GetMessage:String()
Method IsSuccess:Bool()
Method IsFailure:Bool()
Method Reset:Void()
End Class

Note: This won't support all the platforms because TCPStream are already available out of the box in monkey.


Rushino(Posted 2012) [#2]
Version 1.1 is now live.

- Added events such OnRequestSuccess, etc.. which you can override in your own object. Read the demo file for more details.

diemar(Posted 2016) [#3]
couldn't download from freakin google. Why did you not upload it to hell directly. </sarcasm>

(the page also freezes my connection.. on android of course)

Soap(Posted 2016) [#4]
Here's a rehost of the archive for it


ImmutableOctet(SKNG)(Posted 2016) [#5]
For the record, 'brl.httprequest' is a portable replacement that handles this.

Paul - Taiphoz(Posted 2017) [#6]
make it compatible with windows targets and use https????