TsgcWebSocketHTTPServerEventos › OnAfterForwardHTTP

OnAfterForwardHTTP Evento

Se dispara después de que se haya reenviado una solicitud HTTP para que la aplicación pueda inspeccionar el resultado o un error devuelto por el servidor ascendente.

Sintaxis

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

Valor Predeterminado

Observaciones

OnAfterForwardHTTP se genera una vez que OnBeforeForwardHTTP ha habilitado el reenvío y la solicitud HTTP al servidor de origen ha finalizado. ARequestInfo es la solicitud original del cliente, AResponseInfo es la respuesta que está a punto de escribirse de vuelta (ResponseNo, ContentType, ContentText...) tal como fue proporcionada por el servidor de origen, y E es nil en caso de éxito o la excepción generada al contactar con el servidor de destino. Utilice el evento para registrar el resultado, reescribir encabezados o el cuerpo de la respuesta antes de devolverla al cliente, o sobrescribir la respuesta con una página de error personalizada cuando la llamada al servidor de origen falló.

Ejemplo


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;

Volver a Eventos