module Spokes::Middleware::Concerns::HeaderValidation
Public Instance Methods
env_header_name(name)
click to toggle source
# File lib/spokes/middleware/concerns/header_validation.rb, line 17 def env_header_name(name) "HTTP_#{name.upcase.tr('-', '_')}" end
validate_header_pattern(env:, header_name:, pattern:, message: 'is invalid')
click to toggle source
# File lib/spokes/middleware/concerns/header_validation.rb, line 12 def validate_header_pattern(env:, header_name:, pattern:, message: 'is invalid') value = env[env_header_name(header_name)] raise NotValid, "#{header_name} #{message}" unless value =~ pattern end
validate_header_presence(env:, header_name:, message: 'is required')
click to toggle source
# File lib/spokes/middleware/concerns/header_validation.rb, line 7 def validate_header_presence(env:, header_name:, message: 'is required') value = env[env_header_name(header_name)] raise NotValid, "#{header_name} #{message}" if value.nil? || value.empty? end