Ruby
Ruby
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 Ruby Downloads
require 'chilkat'
success = false
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
rest = Chilkat::CkRest.new()
# 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() + "\n";
exit
end
# Setup a file stream for the download
fileStream = Chilkat::CkStream.new()
fileStream.put_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.get_LastMethodSuccess() == false)
# Examine the request/response to see what happened.
print "response status code = " + rest.get_ResponseStatusCode().to_s() + "\n";
print "response status text = " + rest.responseStatusText() + "\n";
print "response header: " + rest.responseHeader() + "\n";
print "response body (if any): " + responseStr + "\n";
print "---" + "\n";
print "LastRequestStartLine: " + rest.lastRequestStartLine() + "\n";
print "LastRequestHeader: " + rest.lastRequestHeader() + "\n";
exit
end
print "downloaded starfish.jpg" + "\n";
# 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 = Chilkat::CkBinData.new()
success = rest.FullRequestNoBodyBd("GET","/images/penguins.jpg",bd)
if (success == false)
# Examine the request/response to see what happened.
print "response status code = " + rest.get_ResponseStatusCode().to_s() + "\n";
print "response status text = " + rest.responseStatusText() + "\n";
print "response header: " + rest.responseHeader() + "\n";
print "response body (if any): " + bd.getString("utf-8") + "\n";
print "---" + "\n";
print "LastRequestStartLine: " + rest.lastRequestStartLine() + "\n";
print "LastRequestHeader: " + rest.lastRequestHeader() + "\n";
exit
end
# Save the contents of bd to a file.
success = bd.WriteFile("qa_output/penguins.jpg")
print "Success: " + success.to_s() + "\n";