|
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 |
|---|