PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkRest.pb"
IncludeFile "CkStringBuilder.pb"
Procedure ChilkatExample()
success.i = 0
rest.i = CkRest::ckCreate()
If rest.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
bTls.i = 1
bAutoReconnect.i = 1
success = CkRest::ckConnect(rest,"example.com",443,bTls,bAutoReconnect)
If success = 0
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
ProcedureReturn
EndIf
; Select the multipart part to build, and set its header fields.
CkRest::setCkPartSelector(rest, "1")
CkRest::ckAddHeader(rest,"Content-Disposition","form-data; name=" + Chr(34) + "field1" + Chr(34))
CkRest::ckAddHeader(rest,"Content-Type","application/json")
; Set the text body of the selected part from a StringBuilder.
sbBody.i = CkStringBuilder::ckCreate()
If sbBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkStringBuilder::ckAppend(sbBody,"{ " + Chr(34) + "key" + Chr(34) + ": " + Chr(34) + "value" + Chr(34) + " }")
success = CkRest::ckSetMultipartBodySb(rest,sbBody)
If success = 0
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
CkStringBuilder::ckDispose(sbBody)
ProcedureReturn
EndIf
responseText.s = CkRest::ckFullRequestMultipart(rest,"POST","/api/upload")
If CkRest::ckLastMethodSuccess(rest) = 0
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
CkStringBuilder::ckDispose(sbBody)
ProcedureReturn
EndIf
Debug responseText
CkRest::ckDispose(rest)
CkStringBuilder::ckDispose(sbBody)
ProcedureReturn
EndProcedure