source: extensions/gsdl-video/trunk/installed/cmdline/lib/ruby/1.8/soap/header/handler.rb@ 18425

Last change on this file since 18425 was 18425, checked in by davidb, 15 years ago

Video extension to Greenstone

File size: 1.2 KB
Line 
1# SOAP4R - SOAP Header handler item
2# Copyright (C) 2003, 2003 NAKAMURA, Hiroshi <[email protected]>.
3
4# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5# redistribute it and/or modify it under the same terms of Ruby's license;
6# either the dual license version in 2003, or any later version.
7
8
9require 'soap/element'
10
11
12module SOAP
13module Header
14
15
16class Handler
17 attr_reader :elename
18 attr_reader :mustunderstand
19 attr_reader :encodingstyle
20
21 def initialize(elename)
22 @elename = elename
23 @mustunderstand = false
24 @encodingstyle = nil
25 end
26
27 # Should return a SOAP/OM, a SOAPHeaderItem or nil.
28 def on_outbound
29 nil
30 end
31
32 # Given header is a SOAPHeaderItem or nil.
33 def on_inbound(header, mustunderstand = false)
34 # do something.
35 end
36
37 def on_outbound_headeritem
38 item = on_outbound
39 if item.nil?
40 nil
41 elsif item.is_a?(::SOAP::SOAPHeaderItem)
42 item.elename = @elename
43 item
44 else
45 item.elename = @elename
46 ::SOAP::SOAPHeaderItem.new(item, @mustunderstand, @encodingstyle)
47 end
48 end
49
50 def on_inbound_headeritem(header)
51 on_inbound(header.element, header.mustunderstand)
52 end
53end
54
55
56end
57end
Note: See TracBrowser for help on using the repository browser.