class Bio::PSORT::CGIDriver

Generic CGI client class

A generic CGI client class for Bio::PSORT::* classes. The class provides an interface for CGI argument processing and output report parsing.

Example

class NewClient < CGIDriver
  def initialize(host, path)
    super(host, path)
  end
end
private
def make_args(query)
  # ...
end
def parse_report(output)
  # ...
end

Attributes

args[RW]

CGI query argument in Hash ({key => value, …}).

report[R]

CGI output raw text

Public Class Methods

new(host = '', path = '') click to toggle source

Sets remote host name and cgi path or uri.

Examples

CGIDriver.new("localhost", "/cgi-bin/psort_www.pl")

CGIDriver.new("http://localhost/cgi-bin/psort_www.pl")

CGIDriver.new(URI.parse("http://localhost/cgi-bin/psort_www.pl"))
    # File lib/bio/appl/psort.rb
 94 def initialize(host = '', path = '')
 95   case host.to_s
 96   when /^http:/
 97     uri = host.to_s
 98   else
 99     uri = 'http://' + host + '/' + path
100   end
101   @uri = URI.parse(uri)
102   @args = {}
103   @report = ''
104 end

Public Instance Methods

exec(query) click to toggle source

Executes a CGI “query'' and returns aReport

    # File lib/bio/appl/psort.rb
108 def exec(query)
109   data = make_args(query)  
110 
111   begin
112     result = nil
113     Bio::Command.start_http(@uri.host) {|http|
114       result = http.post(@uri.path, data)
115     }
116     @report = result.body
117     output = parse_report(@report)
118   end
119 
120   return output
121 end