Class: Tofu::Context
- Inherits:
-
Object
- Object
- Tofu::Context
- Defined in:
- lib/tofu.rb
Instance Attribute Summary collapse
-
#req ⇒ Object
readonly
Returns the value of attribute req.
-
#res ⇒ Object
readonly
Returns the value of attribute res.
Instance Method Summary collapse
- #done ⇒ Object
-
#initialize(req, res) ⇒ Context
constructor
A new instance of Context.
- #req_absolute_path ⇒ Object
- #req_cookie(name) ⇒ Object
- #req_method ⇒ Object
- #req_params ⇒ Object
- #req_path_info ⇒ Object
- #req_script_name ⇒ Object
- #res_add_cookie(name, value, expires = nil) ⇒ Object
- #res_body(v) ⇒ Object
- #res_header(k, v) ⇒ Object
- #res_method_not_allowed ⇒ Object
- #service(bartender) ⇒ Object
Constructor Details
#initialize(req, res) ⇒ Context
Returns a new instance of Context.
376 377 378 379 |
# File 'lib/tofu.rb', line 376 def initialize(req, res) @req = req @res = res end |
Instance Attribute Details
#req ⇒ Object (readonly)
Returns the value of attribute req.
380 381 382 |
# File 'lib/tofu.rb', line 380 def req @req end |
#res ⇒ Object (readonly)
Returns the value of attribute res.
380 381 382 |
# File 'lib/tofu.rb', line 380 def res @res end |
Instance Method Details
#done ⇒ Object
382 383 384 385 386 |
# File 'lib/tofu.rb', line 382 def done throw(:tofu_done) rescue NameError nil end |
#req_absolute_path ⇒ Object
431 432 433 |
# File 'lib/tofu.rb', line 431 def req_absolute_path (@req.request_uri + '/').to_s.chomp('/') end |
#req_cookie(name) ⇒ Object
401 402 403 404 405 |
# File 'lib/tofu.rb', line 401 def (name) found = @req..find {|c| c.name == name} return nil unless found WEBrick::HTTPUtils::unescape(found.value) rescue nil end |
#req_method ⇒ Object
415 416 417 |
# File 'lib/tofu.rb', line 415 def req_method @req.request_method end |
#req_params ⇒ Object
393 394 395 396 397 398 399 |
# File 'lib/tofu.rb', line 393 def req_params hash = {} @req.query.each do |k,v| hash[k] = v.list end hash end |
#req_path_info ⇒ Object
423 424 425 |
# File 'lib/tofu.rb', line 423 def req_path_info @req.path_info end |
#req_script_name ⇒ Object
427 428 429 |
# File 'lib/tofu.rb', line 427 def req_script_name @req.script_name end |
#res_add_cookie(name, value, expires = nil) ⇒ Object
407 408 409 410 411 412 413 |
# File 'lib/tofu.rb', line 407 def (name, value, expires=nil) value = WEBrick::HTTPUtils::escape(value) c = WEBrick::Cookie.new(name, value) c.expires = expires if expires c.path = req_script_name.to_s @res..push(c) end |
#res_body(v) ⇒ Object
435 436 437 |
# File 'lib/tofu.rb', line 435 def res_body(v) @res.body = v end |
#res_header(k, v) ⇒ Object
439 440 441 442 443 444 445 |
# File 'lib/tofu.rb', line 439 def res_header(k, v) if k.downcase == 'status' @res.status = v.to_i return end @res[k] = v end |
#res_method_not_allowed ⇒ Object
419 420 421 |
# File 'lib/tofu.rb', line 419 def res_method_not_allowed raise HTTPStatus::MethodNotAllowed, "unsupported method `#{req_method}'." end |
#service(bartender) ⇒ Object
388 389 390 391 |
# File 'lib/tofu.rb', line 388 def service() .service(self) nil end |