I could fix this issue by accepting Offset = Position:
function THttpResponseStream.Seek(const Offset: Int64;
Origin: TSeekOrigin): Int64;
begin
if Offset = 0 then
case Origin of
soBeginning:
if FContentSize = 0 then Exit(0);
soCurrent, soEnd:
Exit(FContentSize);
end;
//>>> begin Fix
if Offset = Position then
Exit(Position);
//<<< end FIX
raise EStreamError.Create('Http response stream cannot change position.');
end;
Is this a good idea?