Unidad PSP (PSP, Request, Response y PSPUtils)



Nombre :
PSP
Descripción :
Ofrece toda la funcionalidad del motor de procesado de documentos web Pascal Server Pages (llamado, como abreviatura, PSP).
Autor :
Jose Antonio Coret Barneto (Normalmente denominado Joxean Coret)

Índice

  1. Constantes
  2. Variables
  3. Funciones
  4. Funciones Externas
  5. Registros
  6. Clases


Constantes


Referentes a CGI (Common Gateway Interface), especificadas en el runtime en la unidad Pascal virtual Request. Para más información visite Common Gateway Interface RFC project :

REQUEST_METHOD
Especifica el método utilizado por el cliente para solicitar el recurso. Los valores pueden ser GET, POST, HEAD, PUT u otro definido por el usuario.

NOTA : Si el método no es GET o POST, PSP entiende que es POST y se trata de dicho modo.
DOCUMENT_ROOT
Especifica el directorio raíz de documentos HTML en el servidor web, como por ejemplo: /var/www/html/,C:/Archivos de programa/Apache Group/Apache2/htdocs, etc...
GATEWAY_INTERFACE
Especifica la interfaz CGI utilizada. Usualmente el valor suele ser CGI/1.1.
HTTP_ACCEPT
Tipos mime que acepta el servidor, como por ejemplo : image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*, etc...
HTTP_ACCEPT_ENCODING
Codificación aceptada. Por ejemplo : gzip, deflate...
HTTP_ACCEPT_LANGUAGE
Lenguage aceptado. Por ejemplo : es.
HTTP_CONNECTION
Estado de la conexión. Por ejemplo : Keep-Alive.

NOTA : Refiérase a la documentación de su servidor Web para más información.
HTTP_HOST
Host que ha realizado la petición.
HTTP_USER_AGENT
User-agent del cliente que ha solicitado el recurso web.
HTTP_REFERER
Documento desde el que se ha realizado la solicitud.
PATH_INFO
Información en Common Gateway Interface RFC project.
QUERY_STRING
Especifica la cadena que se ha pasado al script, es decir, los parámetros enviados al CGI. Por ejemplo, dada la petición a la URL http://localhost/cgi-bin/test.psp?velement1=vvalue1&velement2=vvalue2, el parámetro QUERY_STRING sería entonces la cadena velement1=vvalue1&velement2=vvalue2.
REMOTE_ADDR
Dirección IP del host remoto que ha realizado la solicitud.
REMOTE_HOST
Nombre del host remoto que ha realizado la solicitud.
REMOTE_IDENT

REMOTE_PORT
Puerto remoto utilizado por el host que ha realizado la solicitud.
REMOTE_USER

REQUEST_URI
Ruta completa, exceptuando la raíz, del documento solicitado. Es decir, dada una url como por ejemplo http://localhost/cgi-bin/cgi.psp?velement1=vvalue1&velement2=vvalue2, la URI sería la subcadena  /cgi-bin/cgi.psp?velement1=vvalue1&velement2=vvalue2. La raíz se refiere a la url base, que sería http://localhost.
SCRIPT_FILENAME
Nombre en el servidor del archivo CGI a ejecutar.
SCRIPT_NAME
Ruta completa, exceptuando la raíz, del documento solicitado, pero esta vez local al servidor Web. Es decir, dad una url local al servidor como por ejemplo c:/apache/cgi-bin/cgi.psp, SCRIPT_NAME devolvería la cadena /cgi-bin/cgi.psp, ya que la raíz sería c:/apache.
SERVER_ADDR
Direción IP del servidor Web.
SERVER_ADMIN
Administrador del Servidor Web.
SERVER_NAME
Nombre de Host del Servidor Web.
SERVER_PORT
Puerto de escucha del Servidor Web.
SERVER_PROTOCOL
Protocolo utilizado en la comunicación. En la fecha de creación de este documento solo existen dos posibles valores, los cuales son HTTP/1.0 y HTTP/1.1.
SERVER_SIGNATURE
Cadena descriptiva del servidor web, como por ejemplo : Apache/2.0.40 Server at localhost Port 80.
SERVER_SOFTWARE
Especifica el software que está instalado en el servidor web en relación al mismo, es decir, esta podría ser por ejemplo la cadena "Apache/2.0.40 (Win32)".

Variables

Funciones

psp_echo
Imprime una cadena en STDOUT o dispositivo de salida estándar.

NOTA : La cadena es imprimida antes de que PSP imprima la cabecera de respuesta indicando el tipo de datos, fecha, etc... de la salida generada.
psp_echo_err
Imprime una cadena en STDERR o dispositivo de error estándar.

NOTA : La cadena es imprimida antes de que PSP imprima la cabecera de respuesta indicando el tipo de datos, fecha, etc... de la salida generada.
psp_write
Equivalente a psp_echo.
psp_writeln
Imprime una cadena en STDOUT o dispositivo de salida estándar agregando un salto de línea al final de la cadena.

NOTA : La cadena es imprimida antes de que PSP imprima la cabecera de respuesta indicando el tipo de datos, fecha, etc... de la salida generada.
psp_header
Especifica la cadena que se mostrará en la cabecera del documento. Esta es usualmente Content-Type: text/html, pero puede ser cualquier otra especificada en el archivo de configuración de Pascal Server Pages.

NOTA : Toda llamada a psp_header sobreescribirá la cabecera anterior, es decir dado el siguiente ejemplo :
psp_header('Content-Filename: 800000');
psp_header('Content-Type: text/html');
la cabecera imprimida será solamente
Content-Type: text/html,
no siendo la esperada en algunos casos, que sería

Content-Filename: 8000000
Content-Type: text/html

Para poder ofrecer la cabecera especificada en este ejemplo debe de llamar a la función pasando cada elemento que desea que aparezca en la cabecera agregando además un nuevo salto de línea por cada nuevo apartado de la cabecera. Ejemplo :

psp_header('Content-Filename: 800000' + #13 + 'Content-Type: text/html');
psp_no_continue
Ignora el resto de código HTML así como subprogramas o expresiones Pascal que encuentre en el documento PSP.

NOTA : No se rompe el flujo de ejecución del programa actual.
psp_ignore_next
Ignora el siguiente subprograma o expresión Pascal que encuentre en el documento PSP.

NOTA : No se rompe el flujo de ejecución del programa actual.
psp_ignore_all
Ignore el resto de subprogramas o expresiones Pascal que encuentre en el documento PSP.

NOTA : No se rompe el flujo de ejecución del programa actual.
psp_ignore_next_html
Ignora la siguiente porción de código HTML que haya incluida entre el subprograma o expresión Pascal actual y el siguiente subprograma o expresión Pascal que se encuentre en el documento Pascal.

NOTA : No se rompe el flujo de ejecución del programa actual.
psp_ignore_all_html
Ignora el resto de código HTML que encuentre en el documento PSP.

NOTA : No se rompe el flujo de ejecución del programa actual.
psp_quit
Termina bruscamente el programa actual. El servidor web entenderá que el CGI ha fallado.
psp_pool_var
Permite que una variable sea utilizada en el resto de subprogramas y expresiones del documento PSP actual.

Sintaxis :
psp_pool_var('Variable_name', Variable);
psp_set_cookie
Establece una cookie.

Sintaxis :
psp_set_cookie('Cookie_Name','Cookie_Value');

NOTA : Esta función no funciona correctamente, al menos en las versiones 0.0.4 y anteriores.
psp_document_file
Devuelve el nombre del archivo PSP que se está parseando actualmente.

NOTA : En un CGI puede utilizar también la constante SCRIPT_FILENAME.
psp_no_print_header
Especifica si ha de imprimir o no una cabecera antes de la salida. El valor por defecto es false, es decir, imprimir siempre una cabecera.
ReadUnit
Crea una referencia al documento especificado como primer parámetro. Esto es equivalente a agregar una unidad en la cláusula Uses.

NOTA : Esta función será quitada de la unidad PSP brevemente, para poder ser ofrecida en otros productos que utilizan Nemesis JEDI Pascal.
GenerateConnectionID
Genera una cadena numérica aleatoria que puede ser utilizada como identificador de conexión.

NOTA : Esta función será quitada de la unidad PSP brevemente, para poder ser ofrecida en otros productos que utilizan Nemesis JEDI Pascal.

Funciones Externas

Registros

Clases


Author : Jose Antonio Coret
Creation Data : 18/12/2003
Modification Date : 18/12/2003
Document Version : 0.0.1