Interesante

Usando el estante

Usando el estante


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

En el artículo anterior, aprendiste qué es Rack. Ahora, es hora de comenzar a usar Rack y publicar algunas páginas.

Hola Mundo

Primero, comencemos con una aplicación de "Hola mundo". Esta aplicación, sin importar qué tipo de solicitud se le dé, regresará con un código de estado de 200 (que es HTTP-speak para "OK") y la cadena "Hola Mundo" como el cuerpo

Antes de examinar el siguiente código, considere nuevamente los requisitos que debe cumplir cualquier aplicación Rack.

Una aplicación Rack es cualquier objeto Ruby que responde al método de llamada, toma un único parámetro hash y devuelve una matriz que contiene el código de estado de respuesta, los encabezados de respuesta HTTP y el cuerpo de la respuesta como una matriz de cadenas.
clase HelloWorld
llamada de def (env)
devuelve 200, {}, "¡Hola mundo!"
fin
fin

Como puede ver, un objeto del tipo Hola Mundo cumplirá con todos estos requisitos. Lo hace de una manera mínima y no muy útil, pero cumple con todos los requisitos.

WEBrick

Eso es bastante simple, ahora conéctelo a WEBrick (el servidor HTTP que viene con Ruby). Para hacer esto, usamos el Rack :: Manejador :: WEBrick.run método, páselo una instancia de Hola Mundo y el puerto para correr. Ahora se ejecutará un servidor WEBrick y Rack pasará solicitudes entre el servidor HTTP y su aplicación.

Tenga en cuenta que esta no es una forma ideal de lanzar cosas con Rack. Aquí solo se muestra para que algo funcione antes de sumergirse en otra característica de Rack llamada "Rackup", que se muestra a continuación. Usar Rack :: Handler de esta manera tiene algunos problemas. Primero, no es muy configurable. Todo está codificado en el guión. Segundo, como notarás si ejecutas el siguiente script, no puedes matar el programa. No responderá a Ctrl-C. Si ejecuta este comando, simplemente cierre la ventana de terminal y abra una nueva.

#! / usr / bin / env ruby
requiere 'estante'
clase HelloWorld
llamada de def (env)
devuelve 200, {}, "¡Hola mundo!"
fin
fin
Rack :: Manejador :: WEBrick.run (
HolaMundo.nuevo,
: Puerto => 9000
)

Acumular

Si bien esto es bastante fácil de hacer, no es cómo se usa normalmente Rack. Rack se usa normalmente con una herramienta llamada acumular. Rackup hace más o menos lo que estaba en la sección inferior del código anterior, pero de una manera más útil. Rackup se ejecuta desde la línea de comandos y se le asigna un .ru "Archivo Rackup". Este es solo un script Ruby que, entre otras cosas, alimenta una aplicación a Rackup.

Un archivo Rackup muy básico para lo anterior se vería así.

clase HelloWorld
llamada de def (env)
regreso
200,
{'Content-Type' => 'text / html'},
"¡Hola Mundo!"

fin
fin
ejecutar HelloWorld.new

Primero, tuvimos que hacer un pequeño cambio en el Hola Mundo clase. Rackup ejecuta una aplicación de middleware llamada Estante :: pelusa que la cordura verifica las respuestas. Todas las respuestas HTTP deben tener un Tipo de contenido encabezado, por lo que se agregó. Luego, la última línea solo crea una instancia de la aplicación y la pasa al correr método. Idealmente, su aplicación no debería estar escrita completamente dentro del archivo Rackup, este archivo debería requerir su aplicación y crear una instancia de esa manera. El archivo Rackup es simplemente "pegamento", no debe haber ningún código de aplicación real.

Si ejecutas el comando rackup helloworld.ru, iniciará un servidor en el puerto 9292. Este es el puerto de Rackup predeterminado.

Rackup tiene algunas características más útiles. Primero, cosas como el puerto se pueden cambiar en la línea de comando, o en una línea especial en el script. En la línea de comando, simplemente pase un -p puerto parámetro. Por ejemplo: rackup -p 1337 helloworld.ru. Desde el script en sí, si la primera línea comienza con #, luego se analiza igual que la línea de comando. Así que también puedes definir opciones aquí. Si desea ejecutar en el puerto 1337, la primera línea del archivo Rackup podría leer # -p 1337.


Ver el vídeo: Instalar un estante de pared Leroy Merlin (Mayo 2022).


Comentarios:

  1. Arashijin

    Has dado en el clavo. Creo que esta es una muy buena idea. Estoy completamente de acuerdo contigo.

  2. Ferris

    You are definitely right

  3. Phuc

    Estoy de acuerdo, esta es una opinión divertida

  4. Theomund

    Creo que están equivocados. Tenemos que hablar. Escríbeme en PM, habla.

  5. Muhsin

    Bueno, bueno, no es necesario hablar así.



Escribe un mensaje