complete
클래스: matlab.net.http.RequestMessage
네임스페이스: matlab.net.http
HTTP 요청 메시지를 전송하지 않고 유효성 검사 후 완료
구문
설명
[
는 completedrequest
,target
] = complete(request
,uri
)RequestMessage.send
메서드와 같이 메시지 헤더 필드를 추가하고 이에 대한 유효성을 검사한 후 데이터를 변환하지만, 메시지를 전송하지는 않습니다. complete
는 디폴트 HTTPOptions
객체가 요청을 완료하고 유효성을 검사하는 방식을 결정한다고 가정합니다.
디버그 용도로 complete
메서드를 사용하여 요청 메시지의 내용을 검토할 수 있습니다.
이 메서드는 Header
속성과 RequestLine
속성을 채우고 유효성을 검증하기 위해 request
의 Completed
속성을 무시합니다. 이 메서드는 항상 수정된 completedrequest
를 반환합니다. request
가 완료되지 않았으면 메서드가 오류를 발생시킵니다. 이 동작을 사용하면 수동으로 완료된 요청이 유효한지 검사할 수 있습니다.
Completed
가 설정되지 않은 경우, 이 메서드는 항상 request.Body
의 Data
를 변환하고 결과를 completedrequest.Body.Payload
에 저장합니다. 이때 기존에 Payload
에 저장되어 있던 내용을 덮어씁니다. 이는 completedrequest.Body
의 Data
와 Payload
에 모두 값이 들어있음을 의미합니다. 이 동작은 HTTPOptions.SavePayload
가 설정되어 있지 않으면 Payload
를 저장하지 않는 send
의 동작과 다릅니다. 메시지에 다량의 데이터가 포함되어 있는 경우, 메모리 사용량과 변환 시간이 중요한 요인이 될 수 있습니다.
그러나 request.Body
에 ContentProvider
가 포함되어 있는 경우, complete
는 데이터 생성을 위해 해당 제공자를 호출하지 않습니다. completedrequest.Body
는 동일한 ContentProvider
를 포함합니다.
입력 인수
출력 인수
예제
제한 사항
완료된 요청은
options
에서Authenticate
속성이 설정되어 있어도 서버나 프록시 인증에 필요할 수 있는 승인 헤더 필드를 추가하지 않습니다. 메시지를 전송하지 않으면 서버를 사용하는 데 무엇이 필요한지 확인하기가 불가능할 수 있습니다. 인증 교환에서 전송된 내용을 보려면send
메서드에서 반환된completedrequest
인수 또는history
인수를 검토하십시오.
팁
동일한 요청 메시지를 반복해서 전송하려면
completedrequest
를 전송하십시오. 그렇지 않고,request
를 전송하면 MATLAB이 반복해서 메시지의 유효성을 검사하게 됩니다. 또한,target
을 URI로 지정하고 동일한options
입력 인수도 지정해야 합니다.send
메서드가 추가하는 시간 종속적인 헤더 필드(예: Date)는completedrequest
를 전송할 때 업데이트되지 않습니다.데이터를 변환하지 않고 메시지를 완료하려면
complete
메서드를 호출하기 전에Completed
속성을true
로 설정하십시오.Completed
가 true이고request.Body
가MessageBody
객체이면complete
메서드는request.Body.Payload
의 현재 값이 비어 있다 하더라도 그 값이 바람직한 값이라고 가정합니다.이 동작은
send
메서드와 다릅니다.request.Body.Payload
가 비어 있으면send
는Completed
가 true인 경우에도 비어 있지 않은Body.Data
값을 변환하여 보냅니다.
버전 내역
R2016b에 개발됨