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