23 |
BUGCOMM_VERSION = '@VERSION@' |
BUGCOMM_VERSION = '@VERSION@' |
24 |
|
|
25 |
METAVARS = %w( |
METAVARS = %w( |
26 |
AUTH_TYPE CONTENT_TYPE GATEWAY_INTERFACE PATH_INFO |
AUTH_TYPE CONTENT_LENGTH CONTENT_TYPE GATEWAY_INTERFACE PATH_INFO |
27 |
PATH_TRANSLATED QUERY_STRING REMOTE_ADDR REMOTE_HOST |
PATH_TRANSLATED QUERY_STRING REMOTE_ADDR REMOTE_HOST |
28 |
REMOTE_IDENT REMOTE_USER REQUEST_METHOD SCRIPT_NAME |
REMOTE_IDENT REMOTE_USER REQUEST_METHOD SCRIPT_NAME |
29 |
SERVER_NAME SERVER_PROTOCOL SERVER_SOFTWARE |
SERVER_NAME SERVER_PORT SERVER_PROTOCOL SERVER_SOFTWARE |
30 |
HTTP_ACCEPT HTTP_ACCEPT_CHARSET HTTP_ACCEPT_ENCODING |
HTTP_ACCEPT HTTP_ACCEPT_CHARSET HTTP_ACCEPT_ENCODING |
31 |
HTTP_ACCEPT_LANGUAGE HTTP_CACHE_CONTROL HTTP_FROM HTTP_HOST |
HTTP_ACCEPT_LANGUAGE HTTP_CACHE_CONTROL HTTP_COOKIE HTTP_COOKIE2 |
32 |
HTTP_NEGOTIATE HTTP_PRAGMA HTTP_REFERER HTTP_USER_AGENT) |
HTTP_FROM HTTP_HOST HTTP_NEGOTIATE HTTP_PRAGMA HTTP_REFERER |
33 |
|
HTTP_USER_AGENT) |
34 |
|
|
35 |
require 'drb/drb' |
require 'drb/drb' |
36 |
|
|
68 |
uri = "druby://#{host}:#{port}" |
uri = "druby://#{host}:#{port}" |
69 |
|
|
70 |
debug("getting an object from `#{uri}'") |
debug("getting an object from `#{uri}'") |
71 |
cmd = DRbObject.new(nil, uri) |
service = DRbObject.new(nil, uri) |
72 |
|
|
73 |
debug('sending a CGI request') |
debug('sending a CGI request') |
74 |
vars = {} |
vars = {} |
75 |
METAVARS.collect do |v| |
METAVARS.each do |v| |
76 |
vars[v] = ENV[v] if ENV.include?(v) |
vars[v] = ENV[v] if ENV.include?(v) |
77 |
end |
end |
78 |
err = cmd.cgi(vars, $stdin.read) |
res = service.serve_cgi(vars, $stdin.read) |
79 |
unless err.nil? |
print res |
|
raise err |
|
|
end |
|
80 |
debug('done') |
debug('done') |
81 |
rescue StandardError, SignalException, Interrupt, |
rescue StandardError, SignalException, Interrupt, |
82 |
NoMemoryError, ScriptError => e |
NoMemoryError, ScriptError => e |