SendCustomRequest Method

Sends a custom request to the server.

Syntax

ANSI (Cross Platform)
int SendCustomRequest(const char* lpszHttpMethod, const char* lpszKeyName, const char* lpszVersionId, const char* lpszAction);

Unicode (Windows)
INT SendCustomRequest(LPCWSTR lpszHttpMethod, LPCWSTR lpszKeyName, LPCWSTR lpszVersionId, LPCWSTR lpszAction);
- (void)sendCustomRequest:(NSString*)httpMethod :(NSString*)keyName :(NSString*)versionId :(NSString*)action;
#define MID_GOOGLEKMS_SENDCUSTOMREQUEST 21

CLOUDKEYS_EXTERNAL int CLOUDKEYS_CALL CloudKeys_GoogleKMS_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
  • PATCH
  • DELETE

KeyName and VersionId are optional. The former must be specified if the latter is specified; both are ignored if KeyRing is empty. Action is also optional.

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

  1. Builds a request URL, including query parameters, like https://cloudkms.googleapis.com/v1/projects/{GoogleProjectId}/locations/{Location}[/keyRings/{KeyRing}[/cryptoKeys/{KeyName}[/cryptoKeyVersions/{VersionId}]]][{Action}] using:
    • The GoogleProjectId, Location, and (if non-empty) KeyRing properties.
    • The KeyName, VersionId, and Action parameters.
    • All query parameters from QueryParam*.
  2. Adds an Authorization header with the value specified by Authorization.
  3. Adds any request headers from OtherHeaders.
  4. Adds any request body supplied via the stream specified using SetInputStream, the specified InputFile, or InputData.
  5. Sends the request to the server.
  6. Stores the response headers in the ParsedHeader* properties; and the response body in the stream specified using SetOutputStream, the specified OutputFile, or OutputData.

If the response body is JSON 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.
Cloud Keys 2020 C++ Edition - Version 20.0 [Build 8157]