class Sanitize::URISanitizer
- Sanitize::URISanitizer
- Reference
- Object
Overview
A URISanitizer is used to validate and transform a URI based on specified
rules.
Defined in:
Constructors
Instance Method Summary
- 
        #accept_scheme(scheme : String)
        
          Adds scheme to #accepted_schemes.
- 
        #accepted_hosts : Set(String)?
        
          Specifies a whitelist of hosts this sanitizer accepts. 
- 
        #accepted_hosts=(accepted_hosts : Set(String)?)
        
          Specifies a whitelist of hosts this sanitizer accepts. 
- 
        #accepted_schemes : Set(String)?
        
          Specifies a whitelist of URI schemes this sanitizer accepts. 
- 
        #accepted_schemes=(accepted_schemes : Set(String)?)
        
          Specifies a whitelist of URI schemes this sanitizer accepts. 
- #accepts_host?(host)
- #accepts_scheme?(scheme)
- 
        #base_url : URI?
        
          Specifies a base URL all relative URLs are resolved against. 
- 
        #base_url=(base_url : URI?)
        
          Specifies a base URL all relative URLs are resolved against. 
- 
        #rejected_hosts : Set(String)
        
          Specifies a blacklist of hosts this sanitizer rejects. 
- 
        #rejected_hosts=(rejected_hosts : Set(String))
        
          Specifies a blacklist of hosts this sanitizer rejects. 
- #resolve_base_url(uri)
- 
        #resolve_fragment_urls : Bool
        
          Configures whether fragment-only URIs are resolved on #base_url.
- 
        #resolve_fragment_urls=(resolve_fragment_urls)
        
          Configures whether fragment-only URIs are resolved on #base_url.
- #sanitize(uri : URI) : URI?
Constructor Detail
Instance Method Detail
Specifies a whitelist of hosts this sanitizer accepts.
If empty, no hosts are accepted (i.e. only relative URIs are valid).
If nil, all hosts are accepted (default).
The blacklist #rejected_hosts has precedence over this whitelist.
Specifies a whitelist of hosts this sanitizer accepts.
If empty, no hosts are accepted (i.e. only relative URIs are valid).
If nil, all hosts are accepted (default).
The blacklist #rejected_hosts has precedence over this whitelist.
Specifies a whitelist of URI schemes this sanitizer accepts.
If empty, no schemes are accepted (i.e. only relative URIs are valid).
If nil, all schemes are accepted (this setting is potentially dangerous).
Relative URIs are not affected by this setting.
Specifies a whitelist of URI schemes this sanitizer accepts.
If empty, no schemes are accepted (i.e. only relative URIs are valid).
If nil, all schemes are accepted (this setting is potentially dangerous).
Relative URIs are not affected by this setting.
Specifies a base URL all relative URLs are resolved against.
If nil, relative URLs are not resolved.
Specifies a base URL all relative URLs are resolved against.
If nil, relative URLs are not resolved.
Specifies a blacklist of hosts this sanitizer rejects.
If empty, no hosts are rejected.
This blacklist has precedence over the whitelist #accepted_hosts.
Specifies a blacklist of hosts this sanitizer rejects.
If empty, no hosts are rejected.
This blacklist has precedence over the whitelist #accepted_hosts.
Configures whether fragment-only URIs are resolved on #base_url.
sanitizer = Sanitize::URISanitizer.new
sanitizer.base_url = URI.parse("https://example.com/base/")
sanitizer.sanitize(URI.parse("#foo")) # => "#foo"
sanitizer.resolve_fragment_urls = true
sanitizer.sanitize(URI.parse("#foo")) # => "https://example.com/base/#foo"Configures whether fragment-only URIs are resolved on #base_url.
sanitizer = Sanitize::URISanitizer.new
sanitizer.base_url = URI.parse("https://example.com/base/")
sanitizer.sanitize(URI.parse("#foo")) # => "#foo"
sanitizer.resolve_fragment_urls = true
sanitizer.sanitize(URI.parse("#foo")) # => "https://example.com/base/#foo"