Class: SBSM::Request
- Inherits:
-
SimpleDelegator
- Object
- SimpleDelegator
- SBSM::Request
- Includes:
- DRbUndumped
- Defined in:
- lib/sbsm/request.rb
Instance Attribute Summary collapse
-
#cgi ⇒ Object
readonly
Returns the value of attribute cgi.
Instance Method Summary collapse
- #cookies ⇒ Object
-
#initialize(drb_uri, html_version = "html4", cgiclass = CGI) ⇒ Request
constructor
A new instance of Request.
- #is_crawler? ⇒ Boolean
- #passthru(path, disposition = 'attachment') ⇒ Object
- #process ⇒ Object
- #remote_host(lookup_type = Apache::REMOTE_NOLOOKUP) ⇒ Object
- #unparsed_uri ⇒ Object
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 = cgiclass.new(html_version) @drb_uri = drb_uri @thread = nil @request = Apache.request super(@cgi) end |
Instance Attribute Details
#cgi ⇒ Object (readonly)
Returns the value of attribute cgi.
39 40 41 |
# File 'lib/sbsm/request.rb', line 39 def cgi @cgi end |
Instance Method Details
#cookies ⇒ Object
47 48 49 |
# File 'lib/sbsm/request.rb', line 47 def @cgi. end |
#is_crawler? ⇒ 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 |
#process ⇒ Object
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_uri ⇒ Object
78 79 80 |
# File 'lib/sbsm/request.rb', line 78 def unparsed_uri @request.unparsed_uri end |