12. Referencia de clases y módulos

12.1. HTTPRequest

A continuación se listan los métodos de la clase HTTPRequest. La lista contiene valores correspondientes a la siguiente petición HTTP de ejemplo:


      GET /foo/bar?key1=value&KEY2=value2 HTTP/1.1
      Host: localhost:8080
      Accept: text/xml, application/xml,application/xhtml+xml,text/html;q=0.9
      Accept: text/plain;q=0.8,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
      Accept-Encoding: gzip,deflate
      Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
      Keep-Alive: 300
      Connection: keep-alive
  

12.2. HTTPUtils::FormData

La clase FormData deriva de la clase String. Se utiliza para representar los valores de los parámetros de una petición. Una petición puede tener una clave con múltiples valores. Cada valor se asigna a un objeto de la clase FormData. Cada objeto de la clase guarda una referencia al siguiente objeto FormaData que contiene el siguiente valor y así sucesivamente.

each_data

Ejecuta el bloque que se le pasa para cada uno de los valores de los parámetros.

list

Agrupa los valores en un Array.

12.3. HTTPResponse

Muchos de los métodos de HTTPResponse son llamados por WEBrick después de que el servlet haya dado servicio a la petición. En vez de listar todos los métodos públicos como se hizo para la clase HTTPRequest, a continuación sólo se presentan aquellos que tienen sentido dentro del contexto de los servlets.

status=

Para definir el status de la respuesta con este método. e.g. resp.status= 202.

[]=

Para definir las cabeceras que se considere oportuno. e.g. resp['content-type']= 'text/html'

body=

Para definir el cuerpo de la respuesta. También puede ser un objeto IO en cuyo caso el contendido se transmite por bloques.

set_redirect

Envía una respuesta redirigiéndola a la URI dada, e.g. resp.set_redirect(HTTPStatus::MovedPermanently, 'http://www.google.com').

cookies

Array con objetos de la clase Cookie que se enviarán al cliente. Inicialmente el array está vacío ya que las Cookies que se reciben del cliente no se copian automáticamente aquí.

12.4. Cookie

name

El nombre de la cookie. Éste sólo se puede leer no se puede modificar.

value

El valor de la cookie. Debe estar en una codificación ASCII imprimible.

version

Identifica la especificación que sigue la cookie. 0, que es el valor por defecto, identifica las cookies de Netscape, 1 para aquellas que siguen la RFC 2109.

domain

El dominio para el cual la cookie es válida.Un dominio especificado explícitamente debe comenzar siempre con punto.

expires

Un objeto de la clase Time o String que representa el momento en el cual expirará la cookie. Debe seguir el siguiente formato:

DiaSem, DD-Mes-AAAA HH:MM:SS

max_age

El tiempo de vida de la cookie en segundos desde el momento en que se envió. Un valor de cero indica que la cookie debe descartarse enseguida.

comment

Permite al servidor origen de la cookie documentar su utilización. El usuario puede inspeccionar esta información y decidir si iniciar o continuar la sesión con esta cookie.

path

Subconjunto de la URL a la que se aplica esta cookie.

secure

Cuando es true, la cookie sólo se puede devolver bajo una conexión segura.

12.5. HTTPStatus

Tabla 3. Modulo HTTPStatus

Clase padreCódigo de respuestaNombre de la clase
Info100Continue
101SwitchingProtocols
Success200OK
201Created
202Accepted
203NonAuthoritativeInformation
204NoContent
205ResetContent
206PartialContent
Redirect300MultipleChoices
301MovedPermanently
302Found
303SeeOther
304NotModified
305UseProxy
307TemporaryRedirect
ClientError400BadRequest
401Unahthorized
402PaymentRequired
403Forbidden
404NotFound
405MethodNotAllowed
406NotAcceptable
407ProxyAuthenticationRequired
408RequestTimeout
409Conflict
410Gone
411LengthRequired
412PreconditionFailed
413RequestEntityTooLarge
414RequestURITooLarge
415UnsupportedMediaType
416RequestRangeNotSatisfiable
417ExpectationFailed
ServerError500InternalServerError
501NotImplemented
502BadGateway
503ServiceUnavailable
504GatewayTimeout
505HTTPVersionNotSupported