Skip to content

Commit

Permalink
Add allow list for Netlify redirect options
Browse files Browse the repository at this point in the history
  • Loading branch information
sidharthachatterjee committed Mar 10, 2021
1 parent 73859a9 commit a4d684a
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions packages/gatsby-plugin-netlify/src/create-redirects.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,16 @@ export default async function writeRedirectsFile(

const FILE_PATH = publicFolder(`_redirects`)

// Map redirect data to the format Netlify expects
// https://www.netlify.com/docs/redirects/
const NETLIFY_REDIRECT_KEYWORDS_ALLOWLIST = [
`query`,
`conditions`,
`headers`,
`signed`,
`edge_handler`,
]

// Map redirect data to the format Netlify expects
redirects = redirects.map(redirect => {
const {
fromPath,
Expand All @@ -37,13 +45,17 @@ export default async function writeRedirectsFile(
for (const key in rest) {
const value = rest[key]

console.log(NETLIFY_REDIRECT_KEYWORDS_ALLOWLIST)

if (typeof value === `string` && value.includes(` `)) {
console.warn(
`Invalid redirect value "${value}" specified for key "${key}". ` +
`Values should not contain spaces.`
)
} else {
pieces.push(`${key}=${value}`)
if (NETLIFY_REDIRECT_KEYWORDS_ALLOWLIST.includes(key)) {
pieces.push(`${key}=${value}`)
}
}
}

Expand Down

0 comments on commit a4d684a

Please sign in to comment.