Tcl
Tcl
Set a Multipart Part Body from a StringBuilder
See more REST Examples
Demonstrates Rest.SetMultipartBodySb, which sets the text body of the selected multipart part from a StringBuilder.
Background. A multipart request is assembled part by part: the part selector chooses the part being built, header fields describe it, and a SetMultipartBody method supplies its content. The request is then sent with a multipart send or full-request method.
Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
set rest [new_CkRest]
set bTls 1
set bAutoReconnect 1
set success [CkRest_Connect $rest "example.com" 443 $bTls $bAutoReconnect]
if {$success == 0} then {
puts [CkRest_lastErrorText $rest]
delete_CkRest $rest
exit
}
# Select the multipart part to build, and set its header fields.
CkRest_put_PartSelector $rest "1"
CkRest_AddHeader $rest "Content-Disposition" "form-data; name=\"field1\""
CkRest_AddHeader $rest "Content-Type" "application/json"
# Set the text body of the selected part from a StringBuilder.
set sbBody [new_CkStringBuilder]
CkStringBuilder_Append $sbBody "{ \"key\": \"value\" }"
set success [CkRest_SetMultipartBodySb $rest $sbBody]
if {$success == 0} then {
puts [CkRest_lastErrorText $rest]
delete_CkRest $rest
delete_CkStringBuilder $sbBody
exit
}
set responseText [CkRest_fullRequestMultipart $rest "POST" "/api/upload"]
if {[CkRest_get_LastMethodSuccess $rest] == 0} then {
puts [CkRest_lastErrorText $rest]
delete_CkRest $rest
delete_CkStringBuilder $sbBody
exit
}
puts "$responseText"
delete_CkRest $rest
delete_CkStringBuilder $sbBody