TsgcWebSocketHTTPServer이벤트 › OnAfterForwardHTTP

OnAfterForwardHTTP 이벤트

애플리케이션이 결과 또는 업스트림 서버가 반환한 오류를 검사할 수 있도록 HTTP 요청이 전달된 후 발생합니다.

구문

__property TsgcWSOnAfterForwardHTTP OnAfterForwardHTTP;
// typedef void __fastcall (__closure *TsgcWSOnAfterForwardHTTP)(TsgcWSConnection * Connection, TIdHTTPRequestInfo * ARequestInfo, TIdHTTPResponseInfo * AResponseInfo, Exception E);

기본값

설명

OnAfterForwardHTTP는 OnBeforeForwardHTTP가 전달을 활성화하고 상위 HTTP 요청이 완료되면 발생합니다. ARequestInfo는 원본 클라이언트 요청이고, AResponseInfo는 상위 서버에서 채워진 대로 다시 기록되려는 응답(ResponseNo, ContentType, ContentText...)이며, E는 성공 시 nil이거나 대상 서버에 접속하는 동안 발생한 예외입니다. 이 이벤트를 사용하여 결과를 기록하거나, 응답 헤더/본문이 클라이언트로 반환되기 전에 재작성하거나, 상위 호출이 실패했을 때 사용자 정의 오류 페이지로 응답을 재정의하십시오.

예제


void OnAfterForwardHTTP(TsgcWSConnection *Connection, TIdHTTPRequestInfo *ARequestInfo,
  TIdHTTPResponseInfo *AResponseInfo, Exception *E)
{
  if (E != NULL)
  {
    AResponseInfo->ResponseNo = 502;
    AResponseInfo->ContentText = "Upstream error: " + E->Message;
  }
  else
    Log("forwarded " + ARequestInfo->Document + " -> " + IntToStr(AResponseInfo->ResponseNo));
}

이벤트로 돌아가기