un clásico ejemplo del mundo hola de su doc,¿Por qué el cuerpo de respuesta en rack es una matriz, no una cadena?
class HelloWorld
def call(env)
return [200, {}, ["Hello world!"]]
end
end
mi pregunta es ¿por qué el tercer valor es [¡Hola mundo! "], No "Hola mundo"? Desde su doc,
El cuerpo debe responder a cada uno y sólo debe ceder valores de cadena. El cuerpo en sí no debe ser una instancia de String, ya que esto va a romper en Ruby 1.9.
por qué las necesidades corporales para responder a cada uno? y en que caso importa?
Supongo que puede ser almacenado y enviado en trozos a quien lo solicite. La respuesta puede ser bastante grande para que los servidores la "transmitan". ¿Es su pregunta más específica para la cláusula sobre Ruby 1.9 aparte de la iteración completa sobre el cuerpo? –
También tiene sentido cuando piensas cómo funcionan send() y recv() en el mundo C. Cuando llamas a recv le das una dirección a un buffer de caracteres que llena. No está seguro de obtener todo el cuerpo en una sola llamada. Lo mismo es cierto cuando envía una serie de caracteres. – nickethier