JSFiddle - React, Tailwind, and code Playground
by tonytlwu
JavaScript
var mediaFilesRegExp = /https?:\/\/[^ ]*(fliplet)[^ ]+\/v1\/media\/files\/([0-9]+)\/contents(\/[A-z0-9'%-_\. ]+)?\??/g;
var host = 'https://api.fliplet.com/';
var cdnHost = 'https://cdn.fliplet.com/';
// This works
var value = 'https://api.fliplet.com/v1/media/files/874233/contents/Connected%20-%20Quick%20Reference%20Guide.pdf';
// This doesn't work
//value = 'https://api.fliplet.com/v1/media/files/12345/contents?auth_token=123123123';
var s = value.replace(mediaFilesRegExp, function (url) {
url = url.replace(host, cdnHost);
var authToken = '456456456';
var existingToken = url.match(/auth_token=([A-z0-9-]+)/);
if (existingToken) {
return url.replace(existingToken[1], authToken);
}
return url + '?auth_token=' + authToken + '&';
});
console.log(s);