Wanneer de client een bestand van de server opvraagt, gebruikt u het evenement OnHTTP2Response om de streamreactie te laden.
Bij het downloaden van grote bestanden (honderden MB of meer), stel HTTP2Options.ReadTimeout in op 0 (geen time-out) om ervoor te zorgen dat de overdracht wordt voltooid zonder te worden onderbroken door de standaard time-out van 60 seconden:
TsgcHTTP2Client *oClient = new TsgcHTTP2Client();
oClient->HTTP2Options->ReadTimeout = 0; // no timeout for large files
oClient->Get("https://server/largefile", oStream);
TsgcHTTP2Client *oClient = new TsgcHTTP2Client();
oClient->OnHTTP2Response = OnHTTP2ResponseEvent;
oClient->Get("https://http2.golang.org/file/gopher.png");
...
void OnHTTP2ResponseEventEvent(TObject *Sender, const TsgcHTTP2ConnectionClient *Connection,
const TsgcHTTP2RequestProperty *Request, const TsgcHTTP2ResponseProperty *Response)
{
TFileStream *oStream = new TFileStream("file", fmOpenWrite | fmCreate);
try
{
oStream->CopyFrom(Response->Data, Response->Data->Size);
}
__finally
{
oStream->Free();
}
}