IPWorks Cloud 2020 C++ Edition

Questions / Feedback?

SendCustomRequest Method

Sends a custom request to the server.

Syntax

ANSI (Cross Platform)
int SendCustomRequest(const char* lpszHttpMethod, const char* lpszObjectName, const char* lpszRequestBody);

Unicode (Windows)
INT SendCustomRequest(LPCWSTR lpszHttpMethod, LPCWSTR lpszObjectName, LPCWSTR lpszRequestBody);
- (void)sendCustomRequest:(NSString*)httpMethod :(NSString*)objectName :(NSString*)requestBody;
#define MID_AMAZONS3_SENDCUSTOMREQUEST 28

IPWORKSCLOUD_EXTERNAL int IPWORKSCLOUD_CALL IPWorksCloud_AmazonS3_Do(void *lpObj, int methid, int cparam, void *param[], int cbparam[], int64 *lpllVal);

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 a custom URL has been specified using the URL configuration setting, it 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 stream specified using SetDownloadStream, 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 (C++)

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 Cloud 2020 C++ Edition - Version 20.0 [Build 8265]