- Timestamp:
- 01/06/08 16:08:15 (11 months ago)
- Files:
-
- lib/vintage/handler.rb (modified) (1 diff)
- lib/vintage/request_context.rb (modified) (2 diffs)
- lib/vintage/server.rb (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
lib/vintage/handler.rb
r2 r4 58 58 content = Renderer.send(@options[:templates].to_sym, File.open("#{@options[:path]}#{@request_path}.#{@options[:templates]}", "r").read, context) 59 59 60 # Render (if response is 200) or redirect61 60 # Set the content type if we're responding with a render 62 61 context.response.headers["Content-Type"] = "text/html" if context.response.code == 200 63 [context.response.code, {}.merge!(context.response.headers), content] 62 response = Rack::Response.new(content, context.response.code, {}.merge!(context.response.headers)) 63 64 # Render (if response is 200) or redirect 65 # Set cookies 66 if context.response.cookies != {} 67 context.response.cookies.each do |key, value| 68 response.set_cookie(key, value) 69 end 70 end 71 72 response.finish 64 73 end 65 74 else lib/vintage/request_context.rb
r2 r4 6 6 # response code. 7 7 class Response 8 attr_accessor :headers, :code 8 attr_accessor :headers, :code, :cookies 9 9 10 10 def initialize 11 11 self.headers = {} 12 12 self.code = 200 13 self.cookies = {} 13 14 end 14 15 end … … 23 24 self.request = incoming_request 24 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 25 34 end 26 35 end lib/vintage/server.rb
r2 r4 1 1 require 'rubygems' 2 require 'mongrel'3 2 4 3 require 'erubis' … … 7 6 require 'vintage/log' 8 7 require 'vintage/helpers' 8 9 begin 10 require 'swiftcore/evented_mongrel' 11 rescue 12 # Don't have it? No problem! 13 end 9 14 10 15 require 'rack' … … 30 35 31 36 server = Rack::Handler::Mongrel 32 37 33 38 case options[:server] 34 39 when "mongrel" 35 40 server = Rack::Handler::Mongrel 41 when "thin" 42 begin 43 require 'thin' 44 server = Rack::Handler::Thin 45 rescue LoadError 46 puts "You don't have Thin installed!" 47 exit 48 end 36 49 when "webrick" 37 50 server = Rack::Handler::WEBrick
