TsgcWebSocketServer_HTTPAPI › 이벤트 › OnAfterForwardHTTP
애플리케이션이 결과 또는 업스트림 서버가 반환한 오류를 검사할 수 있도록 HTTP 요청이 전달된 후 발생합니다.
__property TsgcWSHTTPAPIAfterForwardHTTP OnAfterForwardHTTP;
// typedef void __fastcall (__closure *TsgcWSHTTPAPIAfterForwardHTTP)(TsgcWSConnection * Connection, THttpServerRequest aRequestInfo, THttpServerResponse &aResponseInfo, Exception E);
—
OnAfterForwardHTTP는 OnBeforeForwardHTTP가 전달을 활성화하고 업스트림 HTTP 요청이 완료되면 발생합니다. aRequestInfo는 원래 클라이언트 요청이고, aResponseInfo는 업스트림 서버에서 채워진 대로 클라이언트에 다시 작성될 응답(ResponseNo, ContentType, ContentText...)이며, E는 성공 시 nil이거나 대상 서버에 접속하는 동안 발생한 예외입니다. 이 이벤트를 사용하여 결과를 로깅하거나, 클라이언트에 반환되기 전에 응답 헤더/본문을 다시 작성하거나, 업스트림 호출이 실패했을 때 사용자 정의 오류 페이지로 응답을 재정의하십시오.
void OnAfterForwardHTTP(TsgcWSConnection *Connection,
THttpServerRequest aRequestInfo, THttpServerResponse &aResponseInfo,
Exception *E)
{
if (E != NULL)
{
aResponseInfo.ResponseNo = 502;
aResponseInfo.ContentText = "Upstream error: " + E->Message;
}
else
Log("forwarded " + aRequestInfo.Document + " -> " + IntToStr(aResponseInfo.ResponseNo));
}