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