summaryrefslogtreecommitdiffstats
path: root/netlify-update-csp-headers.rb
diff options
context:
space:
mode:
authorSerghei Iakovlev <egrep@protonmail.ch>2022-07-09 13:26:58 +0200
committerGitHub <noreply@github.com>2022-07-09 13:26:58 +0200
commit0942efbdf7fb3573517b2f7e52803c3982529caf (patch)
tree26582d034e4e3449c403fe5e0b9a80283dec2948 /netlify-update-csp-headers.rb
parent46e8edfce3738ea14388546ac8690144b7633bb3 (diff)
parentb3c39de2e5265cb81d0268d08c0cd4cb47a93f0d (diff)
downloadgohugo-theme-ed-0942efbdf7fb3573517b2f7e52803c3982529caf.tar.gz
Merge pull request #10 from sergeyklay/feature/update-config
Update config for exampleSite
Diffstat (limited to 'netlify-update-csp-headers.rb')
-rwxr-xr-xnetlify-update-csp-headers.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/netlify-update-csp-headers.rb b/netlify-update-csp-headers.rb
new file mode 100755
index 0000000..5f89c46
--- /dev/null
+++ b/netlify-update-csp-headers.rb
@@ -0,0 +1,42 @@
+#!/usr/bin/env ruby
+
+NETLIFY_CONFIG = 'netlify.toml'
+
+text = File.read(NETLIFY_CONFIG)
+
+# => default-src 'self';
+# <= default-src 'self' blob:;
+text = text.gsub(
+ /(default-src) ('self')(;)/,
+ "\\1 \\2 blob:\\3"
+)
+
+# => style-src 'self';
+# <= style-src 'self' 'unsafe-inline';
+text = text.gsub(
+ /(style-src) ('self')(;)/,
+ "\\1 \\2 'unsafe-inline'\\3"
+)
+
+# => media-src 'self';
+# <= media-src 'self' blob: https://app.netlify.com;
+text = text.gsub(
+ /(media-src) ('self')(;)/,
+ "\\1 'self' blob: https://app.netlify.com\\3"
+)
+
+# => frame-src 'none';
+# <= frame-src app.netlify.com;
+text = text.gsub(
+ /(frame-src) ('none')(;)/,
+ "\\1 app.netlify.com\\3"
+)
+
+# => script-src 'self' *.googletagmanager.com;
+# <= script-src 'self' *.googletagmanager.com netlify-cdp-loader.netlify.app;
+text = text.gsub(
+ /(script-src) ('self' \*.googletagmanager.com)(;)/,
+ "\\1 \\2 netlify-cdp-loader.netlify.app\\3"
+)
+
+File.open(NETLIFY_CONFIG, "w") { |file| file << text }