TsgcHTTP3Server › Métodos › SendResponse

SendResponse Método

Envia uma resposta HTTP/3 (frames HEADERS e DATA) em um stream de requisição.

Sintaxe

procedure SendResponse(const aQUICConn: TsgcQUICServerConnection; aStreamId: Int64; const aResponse: TsgcHTTP3Response);

Parâmetros

NameTypeDescrição
aQUICConnconst TsgcQUICServerConnectionConexão QUIC na qual a resposta é gravada.
aStreamIdInt64Identificador do stream de requisição ao qual a resposta pertence.
aResponseconst TsgcHTTP3ResponseResposta a enviar. Defina StatusCode, ContentType, Headers opcionais e o corpo Data antes de chamar.

Observações

SendResponse codifica os cabeçalhos de resposta com QPACK em um frame HEADERS, anexa um frame DATA quando a resposta possui corpo e escreve ambos no stream de requisição via QUIC. O código de status é enviado no pseudo-cabeçalho :status e um cabeçalho content-length é adicionado automaticamente quando há um corpo presente.

No fluxo normal de requisição você não precisa chamar SendResponse: o servidor cria um TsgcHTTP3Response (com StatusCode padrão 200), dispara OnH3Request para que a aplicação possa preenchê-lo e o envia automaticamente. SendResponse está disponível para cenários avançados onde uma resposta deve ser produzida fora desse fluxo, e também é usado internamente por SendPush.

Exemplo


oResponse := TsgcHTTP3Response.Create;
try
  oResponse.StatusCode := 200;
  oResponse.ContentType := 'text/plain';
  oResponse.Data := TEncoding.UTF8.GetBytes('Hello HTTP/3');
  oServer.SendResponse(aConnection, aStreamId, oResponse);
finally
  oResponse.Free;
end;

Voltar para Métodos