Class: SBSM::Request

Inherits:
SimpleDelegator
  • Object
show all
Includes:
DRbUndumped
Defined in:
lib/sbsm/request.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(drb_uri, html_version = "html4", cgiclass = CGI) ⇒ Request

Returns a new instance of Request.



40
41
42
43
44
45
46
# File 'lib/sbsm/request.rb', line 40

def initialize(drb_uri, html_version = "html4", cgiclass = CGI)
  @cgi = CGI.initialize_without_offline_prompt('html4')
			@drb_uri = drb_uri
			@thread = nil
			@request = Apache.request
			super(@cgi)
end

Instance Attribute Details

#cgiObject (readonly)

Returns the value of attribute cgi.



39
40
41
# File 'lib/sbsm/request.rb', line 39

def cgi
  @cgi
end

Instance Method Details

#cookiesObject



47
48
49
# File 'lib/sbsm/request.rb', line 47

def cookies
    @cgi.cookies
end

#is_crawler?Boolean

Returns:

  • (Boolean)


50
51
52
53
# File 'lib/sbsm/request.rb', line 50

def is_crawler?
  crawler_pattern = /archiver|slurp|bot|crawler|jeeves|spider|\.{6}/i
	!!crawler_pattern.match(@cgi.user_agent)
end

#passthru(path, disposition = 'attachment') ⇒ Object



54
55
56
57
58
59
# File 'lib/sbsm/request.rb', line 54

def passthru(path, disposition='attachment')
  # the variable @passthru is set by a trusted source
  @passthru    = path.untaint
  @disposition = disposition
  ''
end

#processObject



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/sbsm/request.rb', line 60

def process
	begin
		@cgi.params.store('default_flavor', ENV['DEFAULT_FLAVOR'])
		@request.notes.each { |key, val|
			@cgi.params.store(key, val)
		}
      drb_process()
		#drb_request()
		#drb_response()
	rescue StandardError => e
		handle_exception(e)
	ensure
		@session.close if @session.respond_to?(:close)
	end
end

#remote_host(lookup_type = Apache::REMOTE_NOLOOKUP) ⇒ Object



75
76
77
# File 'lib/sbsm/request.rb', line 75

def remote_host(lookup_type=Apache::REMOTE_NOLOOKUP)
	@request.remote_host(lookup_type)
end

#unparsed_uriObject



78
79
80
# File 'lib/sbsm/request.rb', line 78

def unparsed_uri
	@request.unparsed_uri
end