thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rush Manbert <r...@manbert.com>
Subject Javascript prototype generation anyone?
Date Tue, 27 Apr 2010 18:12:14 GMT
Hi,

I have copied and hacked TJSONProtocol.cpp to make a version that just generates standard
JSON when an object is written.

By this I mean that if I had this struct definition:

struct ExtendedStatus { 
1: i32	 	status,
2: i32	 	state,
3: i32	 	percentComplete,
4: i32	 	elapsedMsec,
5: string	statusDescription,
6: string	exceptionMsg,
}

my protocol would serialize it as this:

{"status":2,"state":5,"percentComplete:40,"elapsedMsec":1200,"statusDescription":"Talking
to the server","exceptionMsg:""}

(I wrote this by hand, so it might not be totally correct. The point is that it doesn't encode
types, etc. It just uses the member names.)

If my Javascript side had a standard object prototype definition for ExtendedStatus, then
I can serialize C++ thrift classes from C++, transmit them to my Javascript code, and evaluate
the JSON to create an ExtendedStatus object and use it.

What I'm missing is the code generation for the prototypes.

By any chance, has anyone done this already, and would they be willing to share? Otherwise
I guess we'll see about hacking the C++ generator to make one, but that means adding a new
generator type, or maybe just making the cpp code generator also generate the prototype JS
file automatically.

Better still, has anyone secretly written the Javascript code generator that would work with
the TJSONProtocol implementation?

Or does anyone have another idea of how I can achieve this? I have written a few of these
by hand, but it's easy to make mistakes and you need to know when the thrift IDL file changes.

- Rush
Mime
View raw message