I'm using OpenBD 3.1
By following Raymond Camden's blog at:
http://www.raymondcamden.com/2009/7/13/ColdFusion-9-fixes-onRequest-adds-onCFCRequest
I created an OnCFCRequest() handler in my Application.cfc like so:
public any function onCFCRequest(string cfcname, string cfcmethod, struct
args)
{
// These CFCs are restricted to HTTPS POST access:
var post_only = [ "card_info", "card_swipe", "card_type", "card_valid"
];
var ret = "";
if (lcase(cgi.request_method) != "post" and arrayfindnocase(post_only,
cfcmethod) > 0)
{
ret = "Methods involving card numbers are restricted to HTTPS POST
only.";
}
else
{
var comp = createobject("component", cfcname);
var ret = evaluate("comp.#cfcmethod#(argumentcollection=args)");
}
return ret;
}
This works but to me the createobject-->evaluate portion seems quite messy.
(The blog states this also.)
The real issue though is that this code breaks the "returnformat=json"
portion of my cfc so that it seems to be completely ignored.
The only way to get json returned with this event handler in place is to
provide "__bdreturnformat=json" in the cfc invocation.
When I comment-out this event handler the cfc returns json (because it
specifies returnformat="json" in the function declaration.)
When I un-comment it the cfc returns only WDDX unless I add
&__bdreturnformat=json to the call.
So my questions are:
1. Is there a better way to do the oncfcrequest() which is not so messy?
2. Is there a way to get it to recognize the returnformat in the cfc
without having to specify it in the call to the cfc?
Thanks!
John Moss
--
--
online documentation: http://openbd.org/manual/
http://groups.google.com/group/openbd?hl=en
---
You received this message because you are subscribed to the Google Groups "Open
BlueDragon" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.