An HTTP/HTTPS client library for Actionscript 3.
To build the swc:
To build and run tests under airake:
rake rake test rake adl
If anybody from Adobe is reading this: Please add outputProgress event to Socket. (This is the same behavior as outputProgress event in FileStream?) Otherwise it is impossible to determine the ouput progress on socket writes.. see http://rel.me/2008/1/17/socket-output-progress-in-air for more info.
Everyone else: Vote for the fix!
In order to use flash.net.Socket in a Flash sandbox environment, you need to have a flash socket policy server. (AIR does not have this restriction.) Look at http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html. To debug in the environment, I would use a standalone flash debug player with logging configured and you will see it attempt to connect to flash socket policy server at port 843. Because of this restriction, this library might be more suited for AIR apps. HTTPS doesn't always work. There are some minor bugs with the as3crypto library, so for example https at yahoo and yahoo owned domains (like delicious) don't currently work.
The goals for this project are:
- Learn the HTTP protocol by trying to implement a client.
- Use AS3Crypto TLSSocket support for implementing HTTPS.
- Use it as a replacement for Flash's URLRequest/URLStream API.
- Support the Flash and AIR runtimes.
- GET, HEAD, PUT, POST, DELETE
- multipart/form-data (PUT and POST)
- HTTPS support using AS3Crypto TLS
- Post with application/x-www-form-urlencoded
- Reading chunked (Transfer-Encoding)
Next to implement:
- The other http verbs
- Connection keep-alive
- gzip compression
For examples see, EXAMPLES