DataFlex
DataFlex
Send XML REST Request, Get Response with No Body (Google Cloud Storage)
See more REST Examples
Demonstrates sending a RESTful XML request, and receiving a response where the expected response is a header with no body (Content-Length = 0). This example will create a bucket in Google Cloud Storage using the Google Cloud Storage XML API.See Create a Bucket using the XML API for additional request options.
Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Variant vGAuth
Handle hoGAuth
Handle hoRest
Boolean iBAutoReconnect
Handle hoXmlReqBody
String sResponseStr
Integer iResponseStatus
String sTemp1
Boolean bTemp1
Move False To iSuccess
// This example will create a bucket in Google Cloud Storage using the XML API.
// It requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatAuthGoogle)) To hoGAuth
If (Not(IsComObjectCreated(hoGAuth))) Begin
Send CreateComObject of hoGAuth
End
// Obtain an access token as shown in one of the following examples:
// See Get Access Token using a Service Account JSON Key
// See Get Access Token using a P12 File
Get Create (RefClass(cComChilkatRest)) To hoRest
If (Not(IsComObjectCreated(hoRest))) Begin
Send CreateComObject of hoRest
End
// Connect using TLS.
Move True To iBAutoReconnect
Get ComConnect Of hoRest "www.googleapis.com" 443 True iBAutoReconnect To iSuccess
// Provide the authentication credentials (i.e. the access key)
Get pvComObject of hoGAuth to vGAuth
Get ComSetAuthGoogle Of hoRest vGAuth To iSuccess
// Build the XML request body for creating a bucket.
// See https://cloud.google.com/storage/docs/xml-api/put-bucket-create
Get Create (RefClass(cComChilkatXml)) To hoXmlReqBody
If (Not(IsComObjectCreated(hoXmlReqBody))) Begin
Send CreateComObject of hoXmlReqBody
End
Set ComTag Of hoXmlReqBody To "CreateBucketConfiguration"
Send ComNewChild2 To hoXmlReqBody "LocationConstraint" "us"
Send ComNewChild2 To hoXmlReqBody "StorageClass" "STANDARD"
// Show the HTTP request body we'll be sending.
Get ComGetXml Of hoXmlReqBody To sTemp1
Showln sTemp1
// There are no query parameters...
// The HOST header must be specified, because it needs to be different than
// the domain previously passed to the Connect method.
// The name of the bucket is the 1st part of the HOST header.
Get ComAddHeader Of hoRest "Host" "chilkat-example-bucket.storage.googleapis.com" To iSuccess
// The project ID is specified in an HTTP request header
Get ComAddHeader Of hoRest "x-goog-project-id" "chilkattest-1050" To iSuccess
// In this case, the response body is expected to be empty. We can still
// call FullRequestString. We expect an empty string to be returned.
Get ComGetXml Of hoXmlReqBody To sTemp1
Get ComFullRequestString Of hoRest "PUT" "/" sTemp1 To sResponseStr
Get ComLastMethodSuccess Of hoRest To bTemp1
If (bTemp1 <> True) Begin
Get ComLastErrorText Of hoRest To sTemp1
Showln sTemp1
Procedure_Return
End
// Check the response status code to make sure it is 200.
Get ComResponseStatusCode Of hoRest To iResponseStatus
Showln "Response Status Code = " iResponseStatus
End_Procedure