/usr/lib/ruby/vendor_ruby/ramaze/response.rb is in ruby-ramaze 2012.12.08-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | # Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
# All files in this distribution are subject to the terms of the MIT license.
module Ramaze
##
# Ramaze::Response is a small wrapper around Rack::Response that makes it
# easier to send response data to the browser from a Ramaze application.
#
# @author Michael Fellinger
# @since 01-03-2008
#
class Response < Rack::Response
# Alias for Current.response
def self.current; Current.response; end
##
# Creates a new instance of the response class and processes the specified
# parameters. Once this has been done it calls Rack::Response#initialize.
#
# @author Michael Fellinger
# @since 01-03-2008
# @param [Array] body An array containing the data for the response body.
# @param [Fixnum] status The HTPP status code for the response.
# @param [Hash] header A hash containing additional headers and their
# values.
# @param [Proc] block
#
def initialize(body = [], status = 200, header = {}, &block)
modified_header = Ramaze.options.header.merge(header)
header.merge!(modified_header)
super
end
##
# Updates the body, status and headers.
#
# @author Michael Fellinger
# @since 01-03-2008
# @see Ramaze::Response#initialize
#
def build(new_body = nil, new_status = nil, new_header = nil)
self.header.merge!(new_header) if new_header
self.body = new_body if new_body
self.status = new_status if new_status
end
##
# Sets the body of the response to the given object.
#
# @author Michael Fellinger
# @since 01-03-2008
# @param [Object] obj The object to use as the response body.
#
def body=(obj)
if obj.respond_to?(:stat)
@length = obj.stat.size
@body = obj
elsif obj.respond_to?(:size)
@body = []
@length = 0
write(obj)
else
raise(ArgumentError, "Invalid body: %p" % obj)
end
end
end # Response
end # Ramaze
|