Class: WSDL::Request::SecurityConflictDetector

Inherits:
Object
  • Object
show all
Defined in:
lib/wsdl/request/security_conflict_detector.rb

Overview

Detects conflicts between manual request content and generated WS-Security.

Constant Summary collapse

SECURITY_ELEMENT_CONFLICTS =

Header element local names that conflict with generated WS-Security output.

Returns:

  • (Hash{String => Set<String>})
{
  Security::Constants::NS::Security::WSSE => Set['Security', 'UsernameToken', 'BinarySecurityToken'],
  Security::Constants::NS::Security::WSU => Set['Timestamp'],
  Security::Constants::NS::Signature::DS => Set['Signature']
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(document:, security:) ⇒ SecurityConflictDetector

Returns a new instance of SecurityConflictDetector.



16
17
18
19
# File 'lib/wsdl/request/security_conflict_detector.rb', line 16

def initialize(document:, security:)
  @document = document
  @security = security
end

Instance Method Details

#validate!void

This method returns an undefined value.



22
23
24
25
26
27
# File 'lib/wsdl/request/security_conflict_detector.rb', line 22

def validate!
  return unless @security.configured?

  detect_header_conflicts!
  detect_body_id_conflicts! if @security.signature?
end