Skip to content
This repository
branch: master
Octocat-spinner-32 lib import May 13, 2008
Octocat-spinner-32 script import May 13, 2008
Octocat-spinner-32 src Fixes for socket close and 204 March 05, 2009
Octocat-spinner-32 test Updating docs May 16, 2010
Octocat-spinner-32 .gitignore updating July 15, 2008
Octocat-spinner-32 EXAMPLES.md Updating docs May 16, 2010
Octocat-spinner-32 License.txt import May 13, 2008
Octocat-spinner-32 README.md Updating docs May 17, 2010
Octocat-spinner-32 Rakefile Adding tests, sending onClose event February 22, 2009
Octocat-spinner-32 airake.yml import May 13, 2008
Octocat-spinner-32 build-swc.xml Updating docs May 16, 2010
README.md

An HTTP/HTTPS client library for Actionscript 3.

Building

To build the swc:

compc -load-config=build-swc.xml

To build and run tests under airake:

rake
rake test
rake adl

For info on airake, which is used to build and test see: http://airake.rubyforge.org/ and http://github.com/gabriel/airake/tree/master

Info

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.

Goals

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.

Working:

  • 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

Something went wrong with that request. Please try again.