mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 11:29:20 +02:00
* Some responses do not allow a message body, so attempting to read them is not needed, even if content-length is not specified
git-svn-id: trunk@34062 -
This commit is contained in:
parent
743cc27f2f
commit
c8354993c1
@ -101,6 +101,7 @@ Type
|
||||
Procedure SetRequestHeaders(const AValue: TStrings);
|
||||
procedure SetIOTimeout(AValue: Integer);
|
||||
protected
|
||||
Function NoContentAllowed(ACode : Integer) : Boolean;
|
||||
// True if we need to use a proxy: ProxyData Assigned and Hostname Set
|
||||
Function ProxyActive : Boolean;
|
||||
// Override this if you want to create a custom instance of proxy.
|
||||
@ -457,6 +458,11 @@ begin
|
||||
FSocket.IOTimeout:=AValue;
|
||||
end;
|
||||
|
||||
function TFPCustomHTTPClient.NoContentAllowed(ACode: Integer): Boolean;
|
||||
begin
|
||||
Result:=((ACode div 100)=1) or ((ACode=204) or (ACode=304))
|
||||
end;
|
||||
|
||||
function TFPCustomHTTPClient.ProxyActive: Boolean;
|
||||
begin
|
||||
Result:=Assigned(FProxy) and (FProxy.Host<>'') and (FProxy.Port>0);
|
||||
@ -1034,7 +1040,7 @@ begin
|
||||
L:=L-R;
|
||||
until (L=0) or (R=0);
|
||||
end
|
||||
else if L<0 then
|
||||
else if (L<0) and (Not NoContentAllowed(ResponseStatusCode)) then
|
||||
begin
|
||||
// No content-length, so we read till no more data available.
|
||||
Repeat
|
||||
|
Loading…
Reference in New Issue
Block a user