class SecureHeaders::StrictTransportSecurity
Public Class Methods
new(config = nil)
click to toggle source
# File lib/secure_headers/headers/strict_transport_security.rb, line 14 def initialize(config = nil) @config = config validate_config unless @config.nil? end
Public Instance Methods
name()
click to toggle source
# File lib/secure_headers/headers/strict_transport_security.rb, line 19 def name return HSTS_HEADER_NAME end
value()
click to toggle source
# File lib/secure_headers/headers/strict_transport_security.rb, line 23 def value case @config when String return @config when NilClass return DEFAULT_VALUE end max_age = @config.fetch(:max_age, HSTS_MAX_AGE) value = "max-age=" + max_age.to_s value += "; includeSubdomains" if @config[:include_subdomains] value += "; preload" if @config[:preload] value end
Private Instance Methods
validate_config()
click to toggle source
# File lib/secure_headers/headers/strict_transport_security.rb, line 41 def validate_config if @config.is_a? Hash if !@config[:max_age] raise STSBuildError.new("No max-age was supplied.") elsif @config[:max_age].to_s !~ /\A\d+\z/ raise STSBuildError.new("max-age must be a number. #{@config[:max_age]} was supplied.") end else @config = @config.to_s raise STSBuildError.new(MESSAGE) unless @config =~ VALID_STS_HEADER end end