Jesús Gabriel y Galán said:
Usually the ways of reading a file in Ruby are higher level, where the
EOF is handled for you:
content = File.read("file.txt")
content = File.readlines("file.txt")
File.foreach("file.txt") {|line| content << line}
and so on.
What are you trying to do?
Jesus.
Am looking to configure mongrels's http_request.rb in
order to
delete mongrel temporary file after upload .This is what i would like to
have
def initialize(params, socket, dispatchers)
@params = params
@socket = socket
@dispatchers = dispatchers
content_length = @params[Const::CONTENT_LENGTH].to_i
remain = content_length - @params.http_body.length
# tell all dispatchers the request has begun
@dispatchers.each do |dispatcher|
dispatcher.request_begins(@params)
end unless @dispatchers.nil? || @dispatchers.empty?
# Some clients (like FF1.0) report 0 for body and then send a
body. This will probably truncate them but at least the request goes
through usually.
if remain <= 0
# we've got everything, pack it up
@body = StringIO.new
@body.write @params.http_body
update_request_progress(0, content_length)
elsif remain > 0
# must read more data to complete body
if remain > Const::MAX_BODY
# huge body, put it in a tempfile
@body = Tempfile.new(Const::MONGREL_TMP_BASE)
@body.binmode
else
# small body, just use that
@body = StringIO.new
end
@body.write @params.http_body
read_body(remain, content_length)
end
@body.rewind if @body
end
Here i would like to close this @body after use by using something like
@body.close but while doing so am getting error what should i do and
whre should i call this @body.close
i am looking to close @body after eof reached