this class provides the REST client API for communication with SAP S/4Hana servers
More...
#include <Sap4HanaRestClient.qm.dox.h>
|
| constructor (hash< auto > opts, *softbool do_not_connect) |
| creates the object with the given options (which include the mandatory apikey option for SAP S/4Hana server authentication)
|
|
|
static hash< auto > | getOptions (hash< auto > opts) |
| returns options for the Sap4HanaRestClient::constructor()
|
|
static | raiseError (string fmt,...) |
| throws an exception due to an error
|
|
|
const | DefaultSendEncoding = "gzip" |
| default send encoding
|
|
const | OAuth2TokenUriPath = "oauth2/apitoken/v1" |
| OAuth2 URI path.
|
|
this class provides the REST client API for communication with SAP S/4Hana servers
This class requires the following options for SAP S/4Hana authentication and authorization to the target server:
◆ constructor()
Sap4HanaRestClient::Sap4HanaRestClient::constructor |
( |
hash< auto > |
opts, |
|
|
*softbool |
do_not_connect |
|
) |
| |
creates the object with the given options (which include the mandatory apikey
option for SAP S/4Hana server authentication)
- Example:
Sap4HanaRestClient rest({"url": "https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap", "apikey": apikey});
- Parameters
-
opts | valid options are:
additional_methods: Optional hash with more but not-HTTP-standardized methods to handle. It allows to create various HTTP extensions like e.g. WebDAV. The hash takes the method name as a key, and the value is a boolean True or False: indicating if the method requires a message body as well. Example:
("additional_methods": ("PROPFIND": True, "MKCOL": True ));
apikey: (required) the SAP S/4Hana api key for the target server
content_encoding: for possible values, see EncodingSupport; this sets the send encoding (if the "send_encoding" option is not set) and the requested response encoding (note that the RestClient class will only compress outgoing message bodies over CompressionThreshold bytes in size)
data: a data serialization option; if not present defaults to "json"
default_path: The default path to use for new connections if a path is not otherwise specified in the connection URL
default_port: The default port number to connect to if none is given in the URL
error_passthru: if True then HTTP status codes indicating errors will not cause a REST-RESPONSE-ERROR exception to be raised, rather such responses will be passed through to the caller like any other response
headers: an optional hash of headers to send with every request, these can also be overridden in request method calls
http_version: Either '1.0' or '1.1' (default) for the claimed HTTP protocol version compliancy in outgoing message headers
max_redirects: The maximum number of redirects before throwing an exception (the default is 5)
proxy: The proxy URL for connecting through a proxy
redirect_passthru: if True then redirect responses will be passed to the caller instead of processed
send_encoding: a send data encoding option or the value "auto" which means to use automatic encoding; if not present defaults to "gzip" content encoding on sent message bodies (note that the RestClient class will only compress outgoing message bodies over CompressionThreshold bytes in size)
timeout: The timeout value in milliseconds (also can be a relative date-time value for clarity, ex: 30s )
|
do_not_connect | if False (the default), then a connection will be immediately established to the remote server |
- Exceptions
-
RESTCLIENT-ERROR | invalid option passed to constructor, unsupported data serialization, etc |
SAP4HANARESTCLIENT-ERROR | missing or invalid required option for SAP S/4Hana REST authentication or communication |