TsgcWebSocketServer_HTTPAPIEvents › OnHTTPRequest

OnHTTPRequest Event

Disparado quando o servidor recebe uma requisição HTTP para que a aplicação possa construir a resposta.

Sintaxe

property OnHTTPRequest: TsgcWSHTTPAPIRequestEvent;
// TsgcWSHTTPAPIRequestEvent = procedure(aConnection: TsgcWSConnection_HTTPAPI; const aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse) of object

Valor Padrão

Observações

OnHTTPRequest é o ponto de entrada principal para cada requisição HTTP que o HTTP.SYS entrega ao servidor (GET, POST, PUT, DELETE, HEAD...). aRequestInfo expõe a requisição decodificada (Document, Method, Headers, ContentType, Content, QueryParams, Cookies, ContentLength, AuthExists/AuthUsername/AuthPassword, Stream) e aResponseInfo coleta a resposta que a aplicação deseja enviar de volta: defina ResponseNo, ContentText (ou ContentStream / FileName para respostas binárias/de arquivo), ContentType, CustomHeaders, Date/Expires/LastModified e CacheControl conforme necessário. Deixe aResponseInfo intocado para retornar o HTTP 200 padrão, ou atribua ResponseNo a 404/500/... para sinalizar condições de erro. Este evento não é disparado para requisições de upgrade WebSocket; essas são roteadas através de OnConnect / OnHandshake.

Exemplo


procedure OnHTTPRequest(aConnection: TsgcWSConnection_HTTPAPI;
  const aRequestInfo: THttpServerRequest;
  var aResponseInfo: THttpServerResponse);
begin
  if aRequestInfo.Method = 'GET' then
  begin
    if aRequestInfo.Document = '/test.html' then
    begin
      aResponseInfo.ResponseNo := 200;
      aResponseInfo.ContentText := 'OK';
      aResponseInfo.ContentType := 'text/html; charset=UTF-8';
    end
    else
      aResponseInfo.ResponseNo := 404;
  end
  else
    aResponseInfo.ResponseNo := 500;
end;

Voltar para Eventos