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