SendCustomRequest Method

Sends a custom request to the server.

Syntax

int SendCustomRequest(const QString& qsHttpMethod, const QString& qsObjectName, const QString& qsRequestBody);

Remarks

This method can be used to send arbitrary requests to the server.

Valid values for HttpMethod are:

  • GET (default if empty)
  • HEAD
  • POST
  • PUT
  • DELETE

The ObjectName and RequestBody parameters may be empty if not needed.

Usage

When this method is called, the class does the following:

  1. Builds a request URL, including query parameters, based on the following:
    • UseSSL, Region, and UseVirtualHosting for the base URL.
      • Alternatively, if ServiceProvider is spCustom (255), the custom URL specified using the URL configuration setting is used directly, and these properties are ignored.
    • Bucket (if non-empty)
    • ObjectName (if non-empty)
    • VersionId (if both it and ObjectName are non-empty)
    • QueryParam*
  2. Adds request headers from:
  3. Signs the request (unless the SignCustomRequest configuration setting is disabled).
  4. Sends the request, including RequestBody if non-empty.
  5. Stores the response headers in the ParsedHeader* properties; and the response body in the specified LocalFile, or ObjectData (using the same logic as GetObject).

If the response body is XML data, the XPath, XText, and other X* configuration settings can then be used to navigate and extract information from it.

Error Handling

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks S3 2020 Qt Edition - Version 20.0 [Build 8164]