root/lib/vintage/request_context.rb

Revision 7, 1.0 kB (checked in by jeremymcanal..@gmail.com, 9 months ago)

Final fixes before next release

Line 
1 require 'rack'
2 require 'rack/file'
3
4 module Vintage
5   # Class that encapsulates the response's headers and
6   # response code.
7   class Response
8     attr_accessor :headers, :code, :cookies
9  
10     def initialize
11       self.headers = {}
12       self.code = 200
13       self.cookies = {}
14     end
15   end
16
17   # A class that creates a context for template
18   # rendering.  Helpers are mixed in here to give
19   # templates access to them.
20   class RequestContext
21     attr_accessor :request, :response
22  
23     def initialize(incoming_request)
24       self.request = incoming_request
25       self.response = Vintage::Response.new
26     end
27    
28     def cookies
29       self.request.cookies
30     end
31    
32     def set_cookie(key, val)
33       self.response.cookies[key] = val
34     end
35    
36     # def session
37     #   @env["rack.session"]
38     # end
39   end
40 end
41
42 module Rack
43   class Request
44     def remote_ip
45       @env['REMOTE_ADDR']
46     end
47    
48     def user_agent
49       @env['HTTP_USER_AGENT']
50     end
51   end
52 end
Note: See TracBrowser for help on using the browser.