[ https://issues.apache.org/jira/browse/THRIFT-518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12801903#action_12801903 ]
Aron Sogor commented on THRIFT-518: ----------------------------------- <sorry if this repeats on the mailing list-- I am unsure if posted- no feedback> Hi, I would like to ask for commit access for adding and maintaining the AS3(Flash/Flex) port. I have been tweaking the existing patch to add some more features and it would be nice to put it into a repo and let others use it too. The AS3 port is a close copy of Java, with some missing features like: union. My fixes to the existing patch: fixed service inheritance. implementing servers/processor. While no one will write a flash server, it is useful to make push events from like a java server over a full duplex http connection. full duplex http transport using chucked Transfer encoding. If there is no way to gain commit access, I can maintain a public fork... but it is probably less optimal. > as3/flash/flex generator > ------------------------ > > Key: THRIFT-518 > URL: https://issues.apache.org/jira/browse/THRIFT-518 > Project: Thrift > Issue Type: New Feature > Reporter: Dave Lerman > Attachments: TFullDuplexHttpClient.as, thrift_as3.diff, > thrift_as3.diff > > > There's been various mailing list discussions about ActionScript 3 support, > but I didn't see an associated JIRA so I thought I'd create one. > The goal would be to allow a Flash or Flex project to call a Thrift service > as an alternative to Flash's built-in web services and RPC implementations. > A developer might want to use Thrift instead of SOAP, REST or AMF for it's > code generation, strong typing, or for interoperability with existing > Thrift-based services. > The Flash code would look something like: > {code} > public function testFunction() { > var client:Service = new ServiceImpl(new TBinaryProtocol( > new THttpClient(new URLRequest("http://service.com"))); > client.ping("hello world", handlePingResponse); > } > private function handlePingResponse(response:String):void { > trace("RESPONSE: " + response); > } > {code} > where Service is the generated Flash interface, ServiceImpl is the generated > client which implements Service, and THttpClient is an implementation of > TTransport. > Note that Flash is a single-threaded environment so the call is necessarily > asynchronous. > The attached patch is a first-pass at an implementation. It's basically a > line-for-line partial port of the java lib and generator. The lib contains a > single protocol (TBinaryProtocol) and a single transport (THttpClient), along > with a generator which generates the interface and client implementation > (server implementation is skipped since this seems unlikely to be useful). > It still needs some work -- it's untested except for the specific thrift > services we use internally, and needs documentation and cleanup. I'm happy > to do this work if there's general interest in adding as3 support - let me > know. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.