lib/jubilee/response.rb in jubilee-1.0.2 vs lib/jubilee/response.rb in jubilee-1.1.0.rc1
- old
+ new
@@ -11,54 +11,55 @@
if @body.kind_of? Array and @body.size == 1
@content_length = @body[0].bytesize
end
end
+ # See Rack::Utils::
def respond(response)
no_body = @status < 200 || STATUS_WITH_NO_ENTITY_BODY[@status]
write_status(response)
write_headers(response)
if no_body
response.end
else
if @body.respond_to?(:to_path)
- response.sendFile(@body.to_path)
+ response.send_file(@body.to_path)
else
write_body(response)
response.end
end
end
+ rescue NativeException => e
+ puts e
ensure
@body.close if @body.respond_to?(:close)
end
private
def write_status(response)
- response.setStatusCode(@status)
+ response.status_code = @status
end
def write_headers(response)
@headers.each do |key, values|
case key
when CONTENT_LENGTH
@content_length = values
next
when TRANSFER_ENCODING
- @allow_chunked = false
@content_length = nil
end
# Multiple values are joined by \n
- values.split(NEWLINE).each do |value|
- response.putHeader(key, value)
- end
+ response.put_header(key, values)
end
end
def write_body(response)
+ response.put_default_headers
if @content_length
- response.putHeader(CONTENT_LENGTH, @content_length.to_s)
+ response.put_header(CONTENT_LENGTH, @content_length.to_s)
else
- response.setChunked(true)
+ response.chunked = true
end
@body.each do |part|
response.write(part)
end