diff options
| author | (no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-07-03 15:38:36 +0000 |
|---|---|---|
| committer | (no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-07-03 15:38:36 +0000 |
| commit | 6133b96d61c705c7aefdf6f577f0da5796bc522d (patch) | |
| tree | ce6b571d063d031d1b5cba3ba7671ca138405a3a /lib/soap/header/handler.rb | |
| parent | 70105b2706511a6358a32b805fb55f187e942698 (diff) | |
| download | ruby-6133b96d61c705c7aefdf6f577f0da5796bc522d.tar.gz ruby-6133b96d61c705c7aefdf6f577f0da5796bc522d.tar.xz ruby-6133b96d61c705c7aefdf6f577f0da5796bc522d.zip | |
This commit was manufactured by cvs2svn to create branch 'ruby_1_8'.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/soap/header/handler.rb')
| -rw-r--r-- | lib/soap/header/handler.rb | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/lib/soap/header/handler.rb b/lib/soap/header/handler.rb new file mode 100644 index 000000000..7da2836e2 --- /dev/null +++ b/lib/soap/header/handler.rb @@ -0,0 +1,57 @@ +# 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 |
