lib/openwfe/orest/osocket.rb in ruote-0.9.18 vs lib/openwfe/orest/osocket.rb in ruote-0.9.19

- old
+ new

@@ -1,34 +1,34 @@ # #-- -# Copyright (c) 2006-2007, John Mettraux, OpenWFE.org +# Copyright (c) 2006-2008, John Mettraux, OpenWFE.org # All rights reserved. -# -# Redistribution and use in source and binary forms, with or without +# +# Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: -# +# # . Redistributions of source code must retain the above copyright notice, this -# list of conditions and the following disclaimer. -# -# . Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation +# list of conditions and the following disclaimer. +# +# . Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution. -# +# # . Neither the name of the "OpenWFE" nor the names of its contributors may be # used to endorse or promote products derived from this software without # specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. #++ # require 'socket' @@ -36,85 +36,85 @@ require 'openwfe/orest/xmlcodec' module OpenWFE - # - # This code was blogged about at - # http://jmettraux.wordpress.com/2006/06/01/openwfe-ruby/ - # - class OldSocketListener < TCPServer + # + # This code was blogged about at + # http://jmettraux.wordpress.com/2006/06/01/openwfe-ruby/ + # + class OldSocketListener < TCPServer - # - # starts to listen on a given interface (IP) and port - # - def initialize (iface, port) - super(iface, port) - end + # + # starts to listen on a given interface (IP) and port + # + def initialize (iface, port) + super(iface, port) + end - def listen () - while (session = accept()) - # - # how does it scale ? + def listen () + while (session = accept()) + # + # how does it scale ? - s = session.gets + s = session.gets - if s[0..8] != 'xmlCoder ' - session.close - break - end + if s[0..8] != 'xmlCoder ' + session.close + break + end - l = s[9..-1].to_i + l = s[9..-1].to_i - s = session.gets - # - # skipping the empty line between the - # header and the actual workitem + s = session.gets + # + # skipping the empty line between the + # header and the actual workitem - sXml = '' + sXml = '' - while sXml.length < l - s = session.gets - sXml = "#{sXml}#{s}" - end + while sXml.length < l + s = session.gets + sXml = "#{sXml}#{s}" + end - session.print "<ok-reply/>" - session.close + session.print "<ok-reply/>" + session.close - yield OpenWFE.xml_decode(xml.root) - end - end + yield OpenWFE.xml_decode(xml.root) end + end + end - # - # Dispatches a workitem over TCP, the workitem will be - # encoded with XML - # The default encode_method is - # - def OpenWFE.dispatch_workitem (host, port, workitem) + # + # Dispatches a workitem over TCP, the workitem will be + # encoded with XML + # The default encode_method is + # + def OpenWFE.dispatch_workitem (host, port, workitem) - #sXml = OpenWFE.xml_encode(workitem) - sXml = OpenWFE::XmlCodec::encode workitem + #sXml = OpenWFE.xml_encode(workitem) + sXml = OpenWFE::XmlCodec::encode workitem - socket = TCPSocket.new(host, port) - socket.puts "xmlCoder #{sXml.length}" - socket.puts - socket.puts sXml - socket.puts - socket.close_write + socket = TCPSocket.new(host, port) + socket.puts "xmlCoder #{sXml.length}" + socket.puts + socket.puts sXml + socket.puts + socket.close_write - reply = socket.gets + reply = socket.gets - #reply = reply + socket.gets - # - # a bit ridiculous, but it works - # socket.close_write fixed it + #reply = reply + socket.gets + # + # a bit ridiculous, but it works + # socket.close_write fixed it - socket.close + socket.close - #puts "dispatch() reply is >#{reply}<" - end + #puts "dispatch() reply is >#{reply}<" + end end # @@ -124,25 +124,25 @@ # #puts "..ready.." # #sl.listen do |workitem| # -# #puts workitem -# #next +# #puts workitem +# #next # -# puts workitem.flow_expression_id -# puts "...history length : #{workitem.history.length}" +# puts workitem.flow_expression_id +# puts "...history length : #{workitem.history.length}" # -# #puts workitem.history -# workitem.history.each do |hi| -# puts ".....hi = '#{hi.text}' #{hi.date}" -# end +# #puts workitem.history +# workitem.history.each do |hi| +# puts ".....hi = '#{hi.text}' #{hi.date}" +# end # -# #hi = OpenWFE::HistoryItem.new -# #hi.author = 'osocket.rb' -# #workitem.history.push(hi) +# #hi = OpenWFE::HistoryItem.new +# #hi.author = 'osocket.rb' +# #workitem.history.push(hi) # -# workitem.attributes['ruby?'] = 'yes' +# workitem.attributes['ruby?'] = 'yes' # -# OpenWFE.dispatch_workitem('127.0.0.1', 7007, workitem) +# OpenWFE.dispatch_workitem('127.0.0.1', 7007, workitem) #end