From 43745f26e201655f98351684e1d357cbd8c15b05 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 27 Jun 2010 23:36:51 +0000 Subject: http_response: cleanup documentation No point in documenting our internals and overwhelming users. --- lib/rainbows/http_response.rb | 55 +++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/lib/rainbows/http_response.rb b/lib/rainbows/http_response.rb index 1933218..5552c30 100644 --- a/lib/rainbows/http_response.rb +++ b/lib/rainbows/http_response.rb @@ -1,38 +1,37 @@ # -*- encoding: binary -*- -require 'time' +require 'time' # for Time#httpdate -module Rainbows +# :stopdoc: +class Rainbows::HttpResponse < ::Unicorn::HttpResponse - class HttpResponse < ::Unicorn::HttpResponse + def self.header_string(status, headers, out) + status = CODES[status.to_i] || status - def self.header_string(status, headers, out) - status = CODES[status.to_i] || status - - headers.each do |key, value| - next if %r{\AX-Rainbows-}i =~ key - next if SKIP.include?(key.downcase) - if value =~ /\n/ - # avoiding blank, key-only cookies with /\n+/ - out.concat(value.split(/\n+/).map! { |v| "#{key}: #{v}\r\n" }) - else - out << "#{key}: #{value}\r\n" - end + headers.each do |key, value| + next if %r{\AX-Rainbows-}i =~ key + next if SKIP.include?(key.downcase) + if value =~ /\n/ + # avoiding blank, key-only cookies with /\n+/ + out.concat(value.split(/\n+/).map! { |v| "#{key}: #{v}\r\n" }) + else + out << "#{key}: #{value}\r\n" end - - "HTTP/1.1 #{status}\r\n" \ - "Date: #{Time.now.httpdate}\r\n" \ - "Status: #{status}\r\n" \ - "#{out.join('')}\r\n" end - def self.write(socket, rack_response, out = []) - status, headers, body = rack_response - out.instance_of?(Array) and - socket.write(header_string(status, headers, out)) + "HTTP/1.1 #{status}\r\n" \ + "Date: #{Time.now.httpdate}\r\n" \ + "Status: #{status}\r\n" \ + "#{out.join('')}\r\n" + end - body.each { |chunk| socket.write(chunk) } - ensure - body.respond_to?(:close) and body.close - end + def self.write(socket, rack_response, out = []) + status, headers, body = rack_response + out.instance_of?(Array) and + socket.write(header_string(status, headers, out)) + + body.each { |chunk| socket.write(chunk) } + ensure + body.respond_to?(:close) and body.close end end +# :startdoc: -- cgit v1.2.3-24-ge0c7