Module: Spokes::Middleware::Concerns::HeaderValidation

Included in:
ServiceName
Defined in:
lib/spokes/middleware/concerns/header_validation.rb

Defined Under Namespace

Classes: NotValid

Instance Method Summary collapse

Instance Method Details

#env_header_name(name) ⇒ Object



17
18
19
# 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') ⇒ Object

Raises:



12
13
14
15
# 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') ⇒ Object

Raises:



7
8
9
10
# 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