Skip to content

Instantly share code, notes, and snippets.

@faceyspacey
Created October 16, 2015 00:28
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save faceyspacey/3a2756578a67c220f1da to your computer and use it in GitHub Desktop.
Save faceyspacey/3a2756578a67c220f1da to your computer and use it in GitHub Desktop.
// pages are purged when
// on userApproval in UserModel.approveCeleb
// on user update denies.js
var cloudflare_api_interface = "https://www.cloudflare.com/api_json.html";
var cloudflare_token = "YOUR_TOKEN";
var cloudflare_email = "YOUR_CLOUDFLARE_EMAIL";
var domain = 'FILL_IN_YOUR_DOMAIN';
var urls_to_purge = [
"/celebrities"
];
var makePurgeUrls = function(urlArray) {
return _.map(urlArray, function(url) {
return url.indexOf("http") === -1 ? domain+ url : url;
});
};
Meteor.methods({
cloudflarePurgeAllPublic: function(more_urls_to_purge) {
if (MasterConfig.isLocal()) return;
Meteor.call('purgeAll');
return; //for now we'll purge them all. i just want to guarantee this is working.
urls_to_purge = makePurgeUrls(_.union(urls_to_purge, more_urls_to_purge));
console.log("ATTEMPTING TO PURGE CLOUDFLARE CACHE: GLOBAL URLS");
_.map(urls_to_purge, function(url) {
console.log("PURGING: ", url);
HTTP.post(cloudflare_api_interface,
{
params: {
tkn: cloudflare_token,
email: cloudflare_email,
a: "zone_file_purge",
z: "celebvidy.com",
url: url
}
},
function(err, res) {
if (err) return console.log("ERROR WHILE PURGIN URLS: ", err);
console.log("CLOUDFLARE CACHE PURGED SUCCESSFULLY: ", res.content);
}
);
});
},
purgeAll: function() {
if (MasterConfig.isLocal()) return;
HTTP.post(cloudflare_api_interface,
{
params: {
tkn: cloudflare_token,
email: cloudflare_email,
a: "fpurge_ts",
z: "celebvidy.com",
v: 1
}
},
function(err, res) {
if (err) return console.log("ERROR WHILE PURGING ALL: ", err);
console.log("CLOUDFLARE COMPLETE CACHE PURGED SUCCESSFULLY: ", res.content);
}
);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment