From 84884bebf215e2ce3340ae08d0970b9138050c2d Mon Sep 17 00:00:00 2001 From: chrisgarrity Date: Wed, 5 Dec 2018 14:57:30 -0500 Subject: [PATCH] Revised ?tip_bar= fastly rules Added missing request condition --- bin/configure-fastly.js | 46 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/bin/configure-fastly.js b/bin/configure-fastly.js index 74399a0d3..af1ba50c5 100644 --- a/bin/configure-fastly.js +++ b/bin/configure-fastly.js @@ -171,6 +171,52 @@ async.auto({ if (err) return cb(err); cb(null, headers); }); + }], + tipbarRedirectHeaders: ['version', function (cb, results) { + async.auto({ + requestCondition: function (cb2) { + var condition = { + name: 'routes/?tip_bar= (request)', + statement: 'req.url ~ "\\?tip_bar="', + type: 'REQUEST', + priority: 10 + }; + fastly.setCondition(results.version, condition, cb2); + }, + responseCondition: function (cb2) { + var condition = { + name: 'routes/?tip_bar= (response)', + statement: 'req.url ~ "\\?tip_bar="', + type: 'RESPONSE', + priority: 10 + }; + fastly.setCondition(results.version, condition, cb2); + }, + responseObject: ['requestCondition', function (cb2, redirectResults) { + var responseObject = { + name: 'redirects/?tip_bar=', + status: 301, + response: 'Moved Permanently', + request_condition: redirectResults.requestCondition.name + }; + fastly.setResponseObject(results.version, responseObject, cb2); + }], + redirectHeader: ['responseCondition', function (cb2, redirectResults) { + var header = { + name: 'redirects/?tip_bar=', + action: 'set', + ignore_if_set: 0, + type: 'RESPONSE', + dst: 'http.Location', + src: 'regsub(req.url, "tip_bar=", "tutorial=")', + response_condition: redirectResults.responseCondition.name + }; + fastly.setFastlyHeader(results.version, header, cb2); + }] + }, function (err, redirectResults) { + if (err) return cb(err); + cb(null, redirectResults); + }); }] }, function (err, results) { if (err) throw new Error(err);