Class: Graphomaton::UrlPolicy
- Inherits:
-
Object
- Object
- Graphomaton::UrlPolicy
- Defined in:
- lib/graphomaton/url_policy.rb
Constant Summary collapse
- LINK_SCHEMES =
%w[http https mailto].freeze
- ASSET_SCHEMES =
%w[https].freeze
- CONTROL_CHARACTERS =
/[\u0000-\u001f\u007f]/
Class Method Summary collapse
- .validate(value, context: 'URL', schemes: LINK_SCHEMES, allow_windows_path: false) ⇒ Object
- .validate_asset(value, context: 'asset URL') ⇒ Object
Class Method Details
.validate(value, context: 'URL', schemes: LINK_SCHEMES, allow_windows_path: false) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/graphomaton/url_policy.rb', line 11 def self.validate(value, context: 'URL', schemes: LINK_SCHEMES, allow_windows_path: false) url = value.to_s unless valid?(url, schemes: schemes, allow_windows_path: allow_windows_path) raise SecurityError, "Unsafe #{context}: #{value.inspect}" end url end |
.validate_asset(value, context: 'asset URL') ⇒ Object
20 21 22 |
# File 'lib/graphomaton/url_policy.rb', line 20 def self.validate_asset(value, context: 'asset URL') validate(value, context: context, schemes: ASSET_SCHEMES, allow_windows_path: true) end |