Google Integrator 2016 Delphi Edition
Google Integrator 2016 Delphi Edition
Questions / Feedback?

SendCustomRequest Method

Allows the sending of a custom request to Google Storage.

Syntax


function SendCustomRequest(Url: String; RequestData: String; OtherHeaders: String): String;

Remarks

SendCustomRequest allows a user to send a custom request to Google Storage.

If the RequestData parameter is empty, the component will perform an HTTP GET to the URL you specify. The component will automatically generate a proper signature and timestamp, but the user is responsible for providing all of the required and optional parameters through the Url parameter, as required by the Google Storage documentation. The OtherHeaders parameter is used to submit any additional headers required by the service you are using.

For the Storage component, you may submit RequestData in an HTTP PUT to the Url you specify. The Url is normally fully-qualified, but for PUTs only, may be a relative path. If a relative path is supplied, the Google Storage URL is used as the remote host, the Bucket property is used to create the path, and the Url parameter is used as the object.

PUTs are not currently supported by any other components, but you may submit a custom request containing RequestData with any component if you set the SignCustomRequest configuration setting to False.

When SignCustomRequest is False the user is responsible for generating a proper signature, timestamp, and providing all of the required and optional parameters through the Url parameter, as required by the Google Storage documentation. The component will pass the request as-is without modification.

In addition to the default supported operations, HTTPMethod can be set to specify the HTTP Method that you wish to perform.

This method will return the entire HTTP response as a result of the Google Storage call. The GetXValue method can be used to fetch response information using XPath after a successful call to SendCustomRequest.

For example, to submit a Versioning Configuration request to Google, you would use the following code:

  string request = "<VersioningConfiguration xmlns=\"http://commondatastorage.googleapis.com/doc/2006-03-01/\">\r\n<Status>Enabled</Status>\r\n</VersioningConfiguration>";
  storage.SendCustomRequest("http://commondatastorage.googleapis.com/versioningtestlive/versioning", request, "");
To submit the same request when using Virtual Hosting, you would use the this code instead:
  storage.SendCustomRequest("http://versioningtestlive.commondatastorage.googleapis.com/?versioning", request, "");
Finally, you may specify the Bucket and put the object name in the Url parameter like this:
  storage.Bucket = "versioningtestlive";
  storage.SendCustomRequest("versioning", request, "");
In the last case, the URL the component submits to is dependent on the value of the UseVirtualHosting property.

 
 
Copyright (c) 2019 /n software inc. - All rights reserved.
Google Integrator 2016 Delphi Edition - Version 16.0 [Build 7239]