TsgcWebSocketHTTPServer › Gebeurtenissen › OnBeforeForwardHTTP
Wordt geactiveerd voordat een HTTP-verzoek wordt verzonden zodat het kan worden doorgestuurd (reverse-proxied) naar een andere HTTP-server.
__property TsgcWSOnBeforeForwardHTTP OnBeforeForwardHTTP;
// typedef void __fastcall (__closure *TsgcWSOnBeforeForwardHTTP)(TsgcWSConnection * Connection, TIdHTTPRequestInfo * ARequestInfo, TsgcWSServerForwardHTTP * aForward);
—
OnBeforeForwardHTTP wordt geactiveerd voor elk HTTP-verzoek en stelt de server in staat als omgekeerde proxy te fungeren voor geselecteerde eindpunten. Inspecteer ARequestInfo.Document om te bepalen of het verzoek moet worden doorgestuurd; wanneer dit het geval is, stelt u aForward.Enabled in op True en wijst u aForward.URL toe aan de doelserver. Aanvullende eigenschappen op het aForward-object verfijnen het doorgestuurde verzoek: Document (overschrijft het doelpad), QueryParams, Host, Origin, CustomHeaders, LogFilename, NoCache en TLSOptions voor HTTPS-doelen. Wanneer aForward.Enabled op False blijft, wordt het verzoek lokaal verwerkt via OnCommandGet/OnCommandOther zoals gebruikelijk.
void OnBeforeForwardHTTP(TsgcWSConnection *Connection, TIdHTTPRequestInfo *ARequestInfo,
TsgcWSServerForwardHTTP *aForward)
{
if (ARequestInfo->Document == "/internal")
{
aForward->Enabled = true;
aForward->URL = "http://localhost:8080";
}
}