What Request Data Does ColdFusion Builder Post To Extension Handlers?
Last night, I started playing around with ColdFusion Builder extensions, creating an extension that could encrypt and decrypt CFM and CFC files. The main reason ColdFusion Builder extensions are so attractive as a means to extend the Eclipse platform is that they are powered by actual ColdFusion files (our bread and butter). When you invoke a ColdFusion Builder extension, the IDE gathers data about your request and then posts it as an HTTP form post to your CFML-based handlers. Inside these handlers, you can then do whatever you want, ColdFusion-style, and return an XML result (back to the IDE).
As with any HTTP request, it is important to know what kind of data is available in order to get a handle on what functionality might be leveraged. To explore the ColdFusion Builder extension request context, I decided to CFDump out the CGI and HTTP Request objects to a log file:
CGI
|
|
|
||
|
|
|||
|
|
|
GetHTTPRequestData()
|
|
|
||
|
|
|||
|
|
|
As you can see, not much of anything is posted to the action handlers; not even cookies.
Mostly, this post was just for my understanding and for my own future reference.
Reader Comments
The lack of cookies becomes critical when you build multi-step extensions. I've taken to using urlSessionFormat() for all my links.
@Raymond,
Ahh, good point! It's been so long since I've passed tokens via a URL, I forgot you could even do that. Awesome tip!
I _think_ each extension also has an application scope you can use to store persistent data as you navigate from step to step (I could be mistaken; it's been awhile since I've played with extensions and I don't have my notes with me).
It does. For solo dev it would be fine to use, but you would need to ensure that step 1 clears the previous data. Not sure I'd feel comfortable using it - but I reserve the right to change my mind later. ;)
@Brian,
I assume you right (and @Ray confirms). Really, these extensions are just running as ColdFusion applications, so they should have all of the amenities available.