Chilkat2-Python
Chilkat2-Python
Explaining the Rest ClearResponseBodyStream Method
See more Azure Cloud Storage Examples
The ClearResponseBodyStream method would be needed if your applicaiton called SetResponseBodyStream to send the response to a stream for one request, but then wants to subsequently do something else. The application must call ClearResponseBodyStream to no longer send responses to the stream.Chilkat Chilkat2-Python Downloads
import sys
import chilkat2
success = False
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
rest = chilkat2.Rest()
# Connect to the web server
bTls = True
port = 443
bAutoReconnect = True
success = rest.Connect("www.chilkatsoft.com",port,bTls,bAutoReconnect)
if (success != True):
print(rest.LastErrorText)
sys.exit()
# Setup a file stream for the download
fileStream = chilkat2.Stream()
fileStream.SinkFile = "qa_output/starfish.jpg"
# Indicate that the call to FullRequestNoBody should send the response body
# to fileStream if the response status code is 200.
# If a non-success response status code is received, then nothing
# is streamed to the output file and the error response is returned by FullRequestNoBody.
expectedStatus = 200
rest.SetResponseBodyStream(expectedStatus,True,fileStream)
responseStr = rest.FullRequestNoBody("GET","/images/starfish.jpg")
if (rest.LastMethodSuccess == False):
# Examine the request/response to see what happened.
print("response status code = " + str(rest.ResponseStatusCode))
print("response status text = " + rest.ResponseStatusText)
print("response header: " + rest.ResponseHeader)
print("response body (if any): " + responseStr)
print("---")
print("LastRequestStartLine: " + rest.LastRequestStartLine)
print("LastRequestHeader: " + rest.LastRequestHeader)
sys.exit()
print("downloaded starfish.jpg")
# Clear the response body stream previously set in the call to SetResponseBodyStream.
rest.ClearResponseBodyStream()
# Download something else, but this time send the response body to bd.
bd = chilkat2.BinData()
success = rest.FullRequestNoBodyBd("GET","/images/penguins.jpg",bd)
if (success == False):
# Examine the request/response to see what happened.
print("response status code = " + str(rest.ResponseStatusCode))
print("response status text = " + rest.ResponseStatusText)
print("response header: " + rest.ResponseHeader)
print("response body (if any): " + bd.GetString("utf-8"))
print("---")
print("LastRequestStartLine: " + rest.LastRequestStartLine)
print("LastRequestHeader: " + rest.LastRequestHeader)
sys.exit()
# Save the contents of bd to a file.
success = bd.WriteFile("qa_output/penguins.jpg")
print("Success: " + str(success))