    # File lib/rack/response.rb, line 25
        def initialize(body=[], status=200, header={})
          @status = status.to_i
          @header = Utils::HeaderHash.new.merge(header)

          @chunked = CHUNKED == @header[TRANSFER_ENCODING]
          @writer  = lambda { |x| @body << x }
          @block   = nil
          @length  = 0

          @body = []

          if body.respond_to? :to_str
            write body.to_str
          elsif body.respond_to?(:each)
            body.each { |part|
              write part.to_s
            }
          else
            raise TypeError, "stringable or iterable required"
          end

          yield self  if block_given?
        end