Sha256: d78a88b96c8b5a3fbe4e4d4c3e28f161c2b1a51b810e324cf096edfdfbfe9435
Contents?: true
Size: 835 Bytes
Versions: 9
Compression:
Stored size: 835 Bytes
Contents
module SecureHeaders class XFOBuildError < StandardError; end class XFrameOptions module Constants XFO_HEADER_NAME = "X-FRAME-OPTIONS" DEFAULT_VALUE = 'SAMEORIGIN' VALID_XFO_HEADER = /\A(SAMEORIGIN\z|DENY\z|ALLOW-FROM:)/i end include Constants def initialize(config = nil) @config = config validate_config unless @config.nil? end def name XFO_HEADER_NAME end def value case @config when NilClass DEFAULT_VALUE when String @config else @config[:value] end end private def validate_config value = @config.is_a?(Hash) ? @config[:value] : @config unless value =~ VALID_XFO_HEADER raise XFOBuildError.new("Value must be SAMEORIGIN|DENY|ALLOW-FROM:") end end end end
Version data entries
9 entries across 9 versions & 1 rubygems