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:
- 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*.
- Adds an Authorization header with the value specified by Authorization.
- Adds any request headers from OtherHeaders.
- Adds any request body supplied via the stream specified using SetInputStream, the specified InputFile, or InputData.
- Sends the request to the server.
- 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.)