B4X
B4X
Send a Staged REST Request from a StringBuilder
See more REST Examples
Demonstrates Rest.SendReqSb, which sends a request whose text body is read from a StringBuilder, then reads the response in separate steps.
Background. The staged request model separates sending from reading: a
SendReq method transmits the request, ReadResponseHeader reads the status line and headers, and a ReadResp method reads the body. This gives fine control over large or streamed messages compared with the single-call full-request methods.Chilkat B4X Downloads
Dim success As Boolean = False
Dim rest As ChilkatRest
rest.Initialize("rest")
Dim bTls As Boolean = True
Dim bAutoReconnect As Boolean = True
success = rest.Connect("example.com", 443, bTls, bAutoReconnect)
If success = False Then
Log(rest.LastErrorText)
Return
End If
rest.AddHeader("Content-Type", "application/json")
' Send a request whose text body is read from a StringBuilder.
Dim sbBody As ChilkatStringBuilder
sbBody.Initialize
sbBody.Append("{ " & Chr(34) & "query" & Chr(34) & ": " & Chr(34) & "chilkat" & Chr(34) & " }")
success = rest.SendReqSb("POST", "/api/search", sbBody)
If success = False Then
Log(rest.LastErrorText)
Return
End If
' After sending, read the response status line and header fields. The return value is the HTTP
' status code, or -1 if no response was received.
Dim statusCode As Int = rest.ReadResponseHeader
If statusCode < 0 Then
Log(rest.LastErrorText)
Return
End If
Log("Response status code: " & statusCode)
' Read the response body as text.
Dim responseBody As String = rest.ReadRespBodyString
If rest.LastMethodSuccess = False Then
Log(rest.LastErrorText)
Return
End If
Log(responseBody)