Sample code for 30+ languages & platforms
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

Chilkat2-Python
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))