|
@@ -461,34 +461,6 @@ begin
|
|
SetLength(Result, P-Pchar(Result));
|
|
SetLength(Result, P-Pchar(Result));
|
|
end;
|
|
end;
|
|
|
|
|
|
-Type
|
|
|
|
-
|
|
|
|
- { TRawStringStream }
|
|
|
|
-
|
|
|
|
- TRawStringStream = Class(TMemoryStream)
|
|
|
|
- public
|
|
|
|
- Constructor Create (const aData : RawByteString); overload;
|
|
|
|
- function DataString: RawByteString;
|
|
|
|
- end;
|
|
|
|
-
|
|
|
|
-constructor TRawStringStream.Create(const aData: RawByteString);
|
|
|
|
-begin
|
|
|
|
- Inherited Create;
|
|
|
|
- If Length(aData)>0 then
|
|
|
|
- begin
|
|
|
|
- WriteBuffer(aData[1],Length(aData));
|
|
|
|
- Position:=0;
|
|
|
|
- end;
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
-function TRawStringStream.DataString: RawByteString;
|
|
|
|
-begin
|
|
|
|
- Result:='';
|
|
|
|
- SetLength(Result,Size);
|
|
|
|
- if Size>0 then
|
|
|
|
- Move(Memory^, Result[1], Size);
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
{ TProxyData }
|
|
{ TProxyData }
|
|
|
|
|
|
function TProxyData.GetProxyHeaders: String;
|
|
function TProxyData.GetProxyHeaders: String;
|
|
@@ -1491,10 +1463,10 @@ end;
|
|
function TFPCustomHTTPClient.Get(const AURL: String): RawByteString;
|
|
function TFPCustomHTTPClient.Get(const AURL: String): RawByteString;
|
|
|
|
|
|
Var
|
|
Var
|
|
- SS : TRawStringStream;
|
|
|
|
|
|
+ SS : TRawByteStringStream;
|
|
|
|
|
|
begin
|
|
begin
|
|
- SS:=TRawStringStream.Create;
|
|
|
|
|
|
+ SS:=TRawByteStringStream.Create;
|
|
try
|
|
try
|
|
Get(AURL,SS);
|
|
Get(AURL,SS);
|
|
Result:=SS.Datastring;
|
|
Result:=SS.Datastring;
|
|
@@ -1606,9 +1578,9 @@ end;
|
|
|
|
|
|
function TFPCustomHTTPClient.Post(const URL: string): RawByteString;
|
|
function TFPCustomHTTPClient.Post(const URL: string): RawByteString;
|
|
Var
|
|
Var
|
|
- SS : TRawStringStream;
|
|
|
|
|
|
+ SS : TRawByteStringStream;
|
|
begin
|
|
begin
|
|
- SS:=TRawStringStream.Create();
|
|
|
|
|
|
+ SS:=TRawByteStringStream.Create();
|
|
try
|
|
try
|
|
Post(URL,SS);
|
|
Post(URL,SS);
|
|
Result:=SS.Datastring;
|
|
Result:=SS.Datastring;
|
|
@@ -1699,9 +1671,9 @@ end;
|
|
|
|
|
|
function TFPCustomHTTPClient.Put(const URL: string): RawByteString;
|
|
function TFPCustomHTTPClient.Put(const URL: string): RawByteString;
|
|
Var
|
|
Var
|
|
- SS : TRawStringStream;
|
|
|
|
|
|
+ SS : TRawByteStringStream;
|
|
begin
|
|
begin
|
|
- SS:=TRawStringStream.Create();
|
|
|
|
|
|
+ SS:=TRawByteStringStream.Create();
|
|
try
|
|
try
|
|
Put(URL,SS);
|
|
Put(URL,SS);
|
|
Result:=SS.Datastring;
|
|
Result:=SS.Datastring;
|
|
@@ -1789,9 +1761,9 @@ end;
|
|
|
|
|
|
function TFPCustomHTTPClient.Delete(const URL: string): RawByteString;
|
|
function TFPCustomHTTPClient.Delete(const URL: string): RawByteString;
|
|
Var
|
|
Var
|
|
- SS : TRawStringStream;
|
|
|
|
|
|
+ SS : TRawByteStringStream;
|
|
begin
|
|
begin
|
|
- SS:=TRawStringStream.Create();
|
|
|
|
|
|
+ SS:=TRawByteStringStream.Create();
|
|
try
|
|
try
|
|
Delete(URL,SS);
|
|
Delete(URL,SS);
|
|
Result:=SS.Datastring;
|
|
Result:=SS.Datastring;
|
|
@@ -1879,9 +1851,9 @@ end;
|
|
|
|
|
|
function TFPCustomHTTPClient.Options(const URL: string): RawByteString;
|
|
function TFPCustomHTTPClient.Options(const URL: string): RawByteString;
|
|
Var
|
|
Var
|
|
- SS : TRawStringStream;
|
|
|
|
|
|
+ SS : TRawByteStringStream;
|
|
begin
|
|
begin
|
|
- SS:=TRawStringStream.Create();
|
|
|
|
|
|
+ SS:=TRawByteStringStream.Create();
|
|
try
|
|
try
|
|
Options(URL,SS);
|
|
Options(URL,SS);
|
|
Result:=SS.Datastring;
|
|
Result:=SS.Datastring;
|
|
@@ -1956,7 +1928,7 @@ end;
|
|
procedure TFPCustomHTTPClient.FormPost(const URL : String; FormData: RawBytestring; const Response: TStream);
|
|
procedure TFPCustomHTTPClient.FormPost(const URL : String; FormData: RawBytestring; const Response: TStream);
|
|
|
|
|
|
begin
|
|
begin
|
|
- RequestBody:=TRawStringStream.Create(FormData);
|
|
|
|
|
|
+ RequestBody:=TRawByteStringStream.Create(FormData);
|
|
try
|
|
try
|
|
AddHeader('Content-Type','application/x-www-form-urlencoded');
|
|
AddHeader('Content-Type','application/x-www-form-urlencoded');
|
|
Post(URL,Response);
|
|
Post(URL,Response);
|
|
@@ -1999,9 +1971,9 @@ end;
|
|
|
|
|
|
function TFPCustomHTTPClient.FormPost(const URL : String; Const FormData: RawBytestring): RawByteString;
|
|
function TFPCustomHTTPClient.FormPost(const URL : String; Const FormData: RawBytestring): RawByteString;
|
|
Var
|
|
Var
|
|
- SS : TRawStringStream;
|
|
|
|
|
|
+ SS : TRawByteStringStream;
|
|
begin
|
|
begin
|
|
- SS:=TRawStringStream.Create();
|
|
|
|
|
|
+ SS:=TRawByteStringStream.Create();
|
|
try
|
|
try
|
|
FormPost(URL,FormData,SS);
|
|
FormPost(URL,FormData,SS);
|
|
Result:=SS.Datastring;
|
|
Result:=SS.Datastring;
|
|
@@ -2012,9 +1984,9 @@ end;
|
|
|
|
|
|
function TFPCustomHTTPClient.FormPost(const URL: string; FormData: TStrings): RawByteString;
|
|
function TFPCustomHTTPClient.FormPost(const URL: string; FormData: TStrings): RawByteString;
|
|
Var
|
|
Var
|
|
- SS : TRawStringStream;
|
|
|
|
|
|
+ SS : TRawByteStringStream;
|
|
begin
|
|
begin
|
|
- SS:=TRawStringStream.Create();
|
|
|
|
|
|
+ SS:=TRawByteStringStream.Create();
|
|
try
|
|
try
|
|
FormPost(URL,FormData,SS);
|
|
FormPost(URL,FormData,SS);
|
|
Result:=SS.Datastring;
|
|
Result:=SS.Datastring;
|
|
@@ -2130,13 +2102,13 @@ procedure TFPCustomHTTPClient.StreamFormPost(const AURL: string;
|
|
const AStream: TStream; const Response: TStream);
|
|
const AStream: TStream; const Response: TStream);
|
|
Var
|
|
Var
|
|
S, Sep : string;
|
|
S, Sep : string;
|
|
- SS : TRawStringStream;
|
|
|
|
|
|
+ SS : TRawByteStringStream;
|
|
I: Integer;
|
|
I: Integer;
|
|
N,V: String;
|
|
N,V: String;
|
|
begin
|
|
begin
|
|
Sep:=Format('%.8x_multipart_boundary',[Random($ffffff)]);
|
|
Sep:=Format('%.8x_multipart_boundary',[Random($ffffff)]);
|
|
AddHeader('Content-Type','multipart/form-data; boundary='+Sep);
|
|
AddHeader('Content-Type','multipart/form-data; boundary='+Sep);
|
|
- SS:=TRawStringStream.Create();
|
|
|
|
|
|
+ SS:=TRawByteStringStream.Create();
|
|
try
|
|
try
|
|
if (FormData<>Nil) then
|
|
if (FormData<>Nil) then
|
|
for I:=0 to FormData.Count -1 do
|
|
for I:=0 to FormData.Count -1 do
|