function replaceAll(input, replacements) {
    let result = input;
    for (const [searchValue, replaceValue] of replacements) {
        result = result.split(searchValue).join(replaceValue);
    }
    return result;
}
Notice that this call sets the `noOverwrite` parameter to true if the `requestUrl`
is an absolute path. This ensures that existing query parameter values in `requestUrl`
do not get overwritten. On the other hand when `requestUrl` is not absolute path, it
is still being built so there is nothing to overwrite.