TsgcWebSocketHTTPServer이벤트 › OnAfterForwardHTTP

OnAfterForwardHTTP 이벤트

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

구문

property OnAfterForwardHTTP: TsgcWSOnAfterForwardHTTP;
// TsgcWSOnAfterForwardHTTP = procedure(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; E: Exception) of object

기본값

설명

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

예제


procedure OnAfterForwardHTTP(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo;
  AResponseInfo: TIdHTTPResponseInfo; E: Exception);
begin
  if Assigned(E) then
  begin
    AResponseInfo.ResponseNo := 502;
    AResponseInfo.ContentText := 'Upstream error: ' + E.Message;
  end
  else
    Log(Format('forwarded %s -> %d', [ARequestInfo.Document, AResponseInfo.ResponseNo]));
end;

이벤트로 돌아가기