Whatever message this page gives is out now! Go check it out!
function onRestRequest(restRequest) {
// Custom logic here
}<cfargument type="struct" name="restRequest" required=false>restRequest = {
cfcname : "myapi.user",
method : "getUser",
args : { id="123" },
httpMethod: "GET",
headers : { Authorization="Bearer xxxxxx", ... }
};component {
function onRestRequest(restRequest) {
writeLog(text="REST call: #serializeJSON(restRequest)#", file="rest-access.log");
}
}component {
function onRestRequest(restRequest) {
var headers = getHttpRequestData().headers;
if (!structKeyExists(headers, "x-api-key") || headers["x-api-key"] != application.expectedApiKey) {
restSetResponse({status=401, content="Unauthorized"});
return false;
}
}
}component {
function onRestRequest(restRequest) {
var ip = cgi.remote_addr;
if (application.requestTracker[ip] > 100) {
restSetResponse({status=429, content="Too Many Requests"});
return false;
}
// Increment request count, reset as needed
}
}component {
function onRestRequest(restRequest) {
var origin = getHttpRequestData().headers["origin"];
// Allow only from trusted.com
if (origin == "https://trusted.com") {
restSetResponse({status=200, headers={"Access-Control-Allow-Origin"=origin}});
} else {
restSetResponse({status=403, content="CORS error"});
return false;
}
}
}