mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
57 lines
1.2 KiB
Ruby
57 lines
1.2 KiB
Ruby
# SOAP4R - SOAP Header handler item
|
|
# Copyright (C) 2003, 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
|
|
|
|
# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
|
|
# redistribute it and/or modify it under the same terms of Ruby's license;
|
|
# either the dual license version in 2003, or any later version.
|
|
|
|
|
|
require 'soap/element'
|
|
|
|
|
|
module SOAP
|
|
module Header
|
|
|
|
|
|
class Handler
|
|
attr_reader :elename
|
|
attr_reader :mustunderstand
|
|
attr_reader :encodingstyle
|
|
|
|
def initialize(elename)
|
|
@elename = elename
|
|
@mustunderstand = false
|
|
@encodingstyle = nil
|
|
end
|
|
|
|
# Should return a SOAP/OM, a SOAPHeaderItem or nil.
|
|
def on_outbound
|
|
nil
|
|
end
|
|
|
|
# Given header is a SOAPHeaderItem or nil.
|
|
def on_inbound(header, mustunderstand = false)
|
|
# do something.
|
|
end
|
|
|
|
def on_outbound_headeritem
|
|
item = on_outbound
|
|
if item.nil?
|
|
nil
|
|
elsif item.is_a?(::SOAP::SOAPHeaderItem)
|
|
item.elename = @elename
|
|
item
|
|
else
|
|
item.elename = @elename
|
|
::SOAP::SOAPHeaderItem.new(item, @mustunderstand, @encodingstyle)
|
|
end
|
|
end
|
|
|
|
def on_inbound_headeritem(header)
|
|
on_inbound(header.element, header.mustunderstand)
|
|
end
|
|
end
|
|
|
|
|
|
end
|
|
end
|