$darkmode

| Qore Sap4HanaRestClient Module Reference 1.1

Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
Sap4HanaRestClient::Sap4HanaRestClient Class Reference

this class provides the REST client API for communication with SAP S/4Hana servers More...

Inheritance diagram for Sap4HanaRestClient::Sap4HanaRestClient:
[legend]

## Public Member Functions
| 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) More...

## Static Public Member Functions
static | error (string fmt)
| throws an exception due to an error
static hash< auto > | getOptions (hash< auto > opts)
| returns options for the Sap4HanaRestClient::constructor()
static string | getString (hash< auto > opts, string key)
| gets a string option

## Public Attributes
const | DefaultSendEncoding = "gzip"
| default send encoding
const | OAuth2UriPath = "oauth2/apitoken/v1?grant_type=client_credentials"
| OAuth2 URI path.

## Protected Member Functions
| loginIntern (*reference< hash< auto > > info)
| performs authentication and authorization with SAP using the OAuth2 authorization URL

## Detailed Description

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:

- `apikey:` the SAP S/4Hana API key

## Member Function Documentation

## ◆ 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: # add new HTTP methods for WebDAV. Both of them require body posting to the server ("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