Funzioni di libreria: chiamate ISAPI

Le funzioni di questa categoria comprendono alcune chiamate per interfacciarsi con Microsoft® Internet Information Server™; queste funzioni sono riservate alla versione ISAPI di Proteus. Ricordiamo che la variabile pubblica predefinita OS è uguale a 3 se l'interprete è Proteus ISAPI; inoltre, è predefinita la direttiva ISAPI (è possibile condizionare l'esecuzione di codice ISAPI dentro !ifdef ISAPI..!endif).
Le funzioni sono:

ISAPIGETDATA()

preleva e ritorna una stringa contenente il contenuto dell'operazione di POST effettuata dal client; lanciare URLDECODE sul risultato.

ISAPIGETVAR(cVarName)

ritorna il contenuto della variabile specificata; cVarName può essere una delle seguenti stringhe:

Si faccia riferimento alla documentazione di IIS per ulteriori informazioni.

ISAPISERVFUNC(nRequest, nStatus, cHeader)

invoca la funzione estesa corrispondente a nRequest con nStatus e cHeader specificati; ritorna 0 se ha avuto successo, -1 altrimenti. Le possibili richieste sono:

Valore Descrizione
1 Invia un messaggio 302 (URL Redirect) al client. Nessuna elaborazione ulteriore è richiesta dopo la chiamata. Questa operazione è simile allo specificare "URI: <URL>" nell'intestazione di uno script CGI. 
2 Invia il dato specificato dall'URL al client, come se il client avesse richiesto l'URL. Nessuna elaborazione ulteriore è richiesta dopo la chiamata.
3 Invia una risposta completa da server HTTP, incluso lo stato, la versione del server, l'ora del messaggio ed il tipo MIME.
4 Avverte il server che l'elaborazione è completata.

Si faccia riferimento alla documentazione di IIS per ulteriori informazioni.

ISAPITXFILE(cPathName, cMimeType)

trasmette al client il file corrispondente a cPathName in modo asincrono; lo script può terminare subito dopo questa funzione (se ha avuto successo, cioé se ha ritornato 0). Un esempio di cMimeType per poter ritornare un file binario qualsiasi, se FileName è la seguente funzione:

FUNCTION FileName(S)

P = STRRSTR(S, "\\")
IF NEQ(P, 0)
  RETURN RESTFROM(S, INC(P))
FI
RETURN S

è il seguente: 

"Content-type: application/binary;name=\"" FileName(S) \ 
"\"\r\nContent-Disposition: inline; filename=\"" FileName(S) "\""

ISAPIWRITELOG(cText)

imposta la stringa da scrivere nel log al termine della transazione

Inizio pagina Prossimo argomento Argomento precedente Indice per argomenti Indice analitico