The event handlers that you will produce for remote interaction are exactly the same as your other handlers, with the exception that they have a return type and return data back to the caller; our proxies. Then our proxies can strong type the return data elements:
Handler:
function getCacheKeys(event,rc,prc){
return getCache( rc.cacheProvider ).getKeys();
}
function listUsers(event,rc,prc){
prc.data = userService.list();
if( event.isProxyRequest() ){
return prc.data;
}
event.setView("users/listUsers");
}
Hint The request context has a method called
isProxyRequest()
which tells the application if the request is coming from a ColdBox proxy.
Proxy:
array function getCachekEys(string cacheProvider='default'){
arguments.event = "proxy.getCacheKeys";
return process(argumentCollection=arguments);
}
string function getUsersJSON(){
arguments.event = "proxy.listUsers";
return serializeJSON( process(argumentCollection=arguments) );
}