TsgcWebSocketHTTPServer › 이벤트 › 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;