data_style_sanitizer 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92d2a1679e57bb4634ab85c0e4883314fde9f7380f0da02a81ef7939e7f7833c
4
- data.tar.gz: 0a71f5c5c1ef2abf82d5630a055ff663d0597b663467b449a115119a3ac149f9
3
+ metadata.gz: a99ffd99fabc59fadd239621056e2bbcf385002c72a7f5a21b782318f2cc5561
4
+ data.tar.gz: d5e162d48cbb7c9817501129c4d5ab671a295b3c451914b95f6b57b2a5699ff5
5
5
  SHA512:
6
- metadata.gz: bb8c460227b1839353264d939293563ed458b7e6546c306784d1c69e95e5fb925ebf5e33109272cd3720184d2fed2d4791158864ec695b828608038cc15b077f
7
- data.tar.gz: cbedd72c8a7601e7ff045055e75519db982cb7a100aeb8253b041512f451cdae3a703e9d44ac52c3916a4f2b91350a515b660c9d1aa7d7142d4991c4d737a3cb
6
+ metadata.gz: 076ecfb8d8c5b82f675cef01bcac30a09cedbcbe0902dde8f86ef0fb7fb8d56ef308e923ec9c2cf94c6a6907ea647868218ea97ce7475b160bbc653662590c1d
7
+ data.tar.gz: cbcd19bd0e21e3b44221fe871d1757e74a9509d6e0e63b0cbc07415c0bf1ae0feece7766f5f711a72b45eb7c60f11df4758f97d0b4ad7acc8373a6a2f69fa5a0
@@ -1,4 +1,4 @@
1
- require_relative "data_style_sanitizer/processor"
1
+ require_relative "processor"
2
2
 
3
3
  module DataStyleSanitizer
4
4
  class Middleware
@@ -32,7 +32,16 @@ module DataStyleSanitizer
32
32
  private
33
33
 
34
34
  def extract_nonce(env)
35
- env.dig("action_dispatch.content_security_policy_nonce", :style)
35
+ if env.respond_to?(:dig)
36
+ env.dig("action_dispatch.content_security_policy_nonce", :style)
37
+ else
38
+ # get nonce from meta tag
39
+ # This is a fallback for older versions of Rails
40
+ meta_tag = env["rack.session"]&.dig("meta_tags", "csp-nonce")
41
+ if meta_tag
42
+ meta_tag.match(/nonce="([^"]+)"/)[1] if /nonce="([^"]+)"/.match?(meta_tag)
43
+ end
44
+ end
36
45
  end
37
46
  end
38
47
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DataStyleSanitizer
4
- VERSION = "0.2.1"
4
+ VERSION = "0.2.2"
5
5
  end
@@ -1,8 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "data_style_sanitizer/processor"
4
- require "data_style_sanitizer/railtie" if defined?(Rails)
3
+ require_relative "data_style_sanitizer/processor"
4
+ require_relative "data_style_sanitizer/railtie"
5
5
  require_relative "data_style_sanitizer/version"
6
+ require_relative "data_style_sanitizer/railtie"
7
+ require_relative "data_style_sanitizer/middleware"
6
8
 
7
9
  module DataStyleSanitizer
8
10
  class Error < StandardError; end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_style_sanitizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - tedaford
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '7.1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '7.1'
41
55
  description: This is a gem that converts data-style attributes into CSP-compliant
42
56
  nonced style blocks. It is designed to work with Rails applications and provides
43
57
  a simple interface for sanitizing HTML content.