TsgcHTTP2Client › 메서드 › Put
동기 HTTP/2 PUT을 수행하여 URL의 리소스를 업로드된 콘텐츠로 교체합니다.
function Put(const aURL: string; const aSource: TStream): string;
| Name | Type | 설명 |
|---|---|---|
aURL | const string | 생성되거나 교체될 리소스를 식별하는 절대 URL입니다. |
aSource | const TStream | 저장할 리소스의 전체 표현을 공급하는 스트림입니다. |
서버로부터 수신된 응답 본문을 문자열로 디코딩한 것입니다. (string)
PUT은 멱등적입니다: 동일한 본문으로 반복적으로 호출하면 서버에서 동일한 리소스 상태를 생성합니다. 이 오버로드는 텍스트 응답을 문자열로 소비할 수 있는 JSON / 텍스트 페이로드에 적합합니다.
oBody := TStringStream.Create('{"status":"active"}');
try
oClient.Request.ContentType := 'application/json';
vResponse := oClient.Put('https://api.example.com/users/42', oBody);
finally
oBody.Free;
end;
procedure Put(const aURL: string; const aSource: TStream; const aResponseContent: TStream);
| Name | Type | 설명 |
|---|---|---|
aURL | const string | 생성하거나 교체할 리소스를 식별하는 절대 URL입니다. |
aSource | const TStream | 업로드할 리소스 바이트를 제공하는 스트림입니다. |
aResponseContent | const TStream | 서버의 원시 응답 본문을 캡처하는 스트림입니다. |
바이너리 리소스 업로드(예: 이미지 또는 파일 교체)에 권장되는 스트림 대 스트림 변형으로, 요청과 응답 모두 문자열 변환 없이 처리하는 것이 가장 좋은 경우입니다.
oIn := TFileStream.Create('avatar.png', fmOpenRead);
oOut := TMemoryStream.Create;
try
oClient.Put('https://api.example.com/users/42/avatar', oIn, oOut);
finally
oOut.Free;
oIn.Free;
end;