var header = new HashMap[String, String]
# Body of this response
- var body = "" is writable
+ var body: Writable = "" is writable
# Files appended after `body`
var files = new Array[String]
# Set the content length if not already set
if not header.keys.has("Content-Length") then
# Size of the body
- var len = body.byte_length
+ var len
+ var body = self.body
+ if body isa Text then
+ len = body.byte_length
+ else if body isa Bytes then
+ len = body.length
+ else
+ # We need the length, but there is no length in a writable.
+ # So just render it as a bytes then measure :/
+ body = body.write_to_bytes
+ len = body.length
+ # Keep the body as bytes since we have it
+ self.body = body
+ end
# Size of included files
for path in files do