Qore SwaggerDataProvider Module Reference 1.3
Loading...
Searching...
No Matches
SwaggerDataProvider::SwaggerRequestDataProvider Class Reference

The Swagger data provider class. More...

#include <SwaggerRequestDataProvider.qc.dox.h>

Inheritance diagram for SwaggerDataProvider::SwaggerRequestDataProvider:
[legend]

Public Member Methods

 constructor (SwaggerSchema schema, *RestClient rest, string uri_path, PathItemObject pio, OperationObject op)
 Creates the object from the arguments.
 
*string getDesc ()
 Returns the data provider description.
 
hash< DataProviderInfo > getInfo ()
 Returns data provider info.
 
string getName ()
 Returns the data provider name.
 
string getUriValue (auto v)
 Returns the value for the given query argument.
 
- Public Member Methods inherited from SwaggerDataProvider::SwaggerDataProviderBase
 constructor ()
 Creates the object.
 
 constructor (RestClient::RestClient rest)
 Creates the object.
 
- Public Member Methods inherited from SwaggerDataProvider::SwaggerDataProviderCommon
 constructor ()
 Creates the object.
 
 constructor (RestClient::RestClient rest)
 Creates the object.
 
SwaggerSchema getSchema ()
 Returns the Swagger schema.
 
 setLogger (*LoggerInterface logger)
 Accepts a LoggerInterface object for logging (or clears it)
 

Public Attributes

OperationObject op
 The operation object.
 
PathItemObject pio
 The path item object for the operation.
 
*hash< string, AbstractDataField > record_type
 If the request supports a list of hashes in the response and therefore the record API.
 
bool resolve_uri
 The URI needs dynamic resolution.
 
string success_response
 The success response code, if any.
 
string uri_path
 The current URI path.
 

Private Member Methods

auto doRequestImpl (auto req, *hash< auto > request_options)
 Makes a request and returned the response. More...
 
hash< auto > doRequestIntern (auto req, *hash< auto > options)
 Makes a REST request and returns the response.
 
AbstractDataProviderType getErrorResponseTypeImpl (string error_code)
 Returns the type for the given error code. More...
 
*hash< string, AbstractDataProviderType > getErrorResponseTypesImpl ()
 Returns a hash of error responses, if any.
 
*hash< string, AbstractDataField > getRecordTypeImpl (*hash< auto > search_options)
 Returns the description of the record type, if any. More...
 
*AbstractDataProviderType getRequestTypeImpl ()
 Returns the description of a successful request message, if any.
 
*AbstractDataProviderType getResponseTypeImpl ()
 Returns the description of a successful response message, if any.
 
AbstractDataProviderType getResponseTypeIntern (ResponseObject response, string label)
 Returns a data provider type object for a Swagger response.
 
RestClient getRestClient ()
 Returns a REST client for HTTP operations.
 
hash< DataProviderInfo > getStaticInfoImpl ()
 Returns data provider static info.
 
*ResponseObject getSuccessResponse ()
 Returns the schema for the first successful response message found.
 
string getUriPath ()
 Returns the URI path to use in requests.
 
AbstractDataProviderRecordIterator requestSearchRecordsImpl (auto req, *hash< DataProviderExpression > where_cond, *hash< auto > search_options)
 Returns an iterator for zero or more records matching the search options. More...
 
AbstractDataProviderRecordIterator requestSearchRecordsImpl (auto req, *hash< auto > where_cond, *hash< auto > search_options)
 Returns an iterator for zero or more records matching the search options. More...
 
- Private Member Methods inherited from SwaggerDataProvider::SwaggerDataProviderBase
 addFieldsFromParameters (HashDataType rv, hash< string, AbstractParameterObject > parameters, reference< bool > required)
 Returns a field definition from Swagger parameters.
 
AbstractDataField getFieldForHeaders (string name, hash< auto > headers)
 Returns a field of header fields.
 
AbstractDataField getFieldFromParameter (string path, string name, string type, *string format, *SchemaObject arrayItems, *string desc, bool required, *list< auto > allowed_values)
 Returns a field from a Swagger parameter.
 
AbstractDataField getFieldFromSchema (string name, *string desc, SchemaObject schema, bool required=True)
 Returns a field definition from the Swagger parameter.
 
AbstractDataField getFieldFromSchemaIntern (string path, string name, *string desc, SchemaObject schema, bool required=True)
 Returns a field definition from the Swagger parameter.
 
AbstractDataProviderType getSchemaDataType (string path, SchemaObject schema, bool required=True)
 Returns the data type for the given schema.
 
hash< DataProviderInfo > getStaticInfoImpl ()
 Returns data provider static info.
 
AbstractDataProviderType getType (string path, string typestr, *string format, *SchemaObject arrayItems, bool required=True)
 Returns the data type corresponding to the values.
 

Additional Inherited Members

- Private Attributes inherited from SwaggerDataProvider::SwaggerDataProviderCommon
*RestClient::RestClient rest
 The REST client object for API calls.
 
SwaggerSchema schema
 The Swagger schema.
 

Detailed Description

The Swagger data provider class.

Member Function Documentation

◆ doRequestImpl()

auto SwaggerDataProvider::SwaggerRequestDataProvider::doRequestImpl ( auto  req,
*hash< auto >  request_options 
)
private

Makes a request and returned the response.

Parameters
reqthe request to serialize and make according to the request type
request_optionsthe request options; will be processed by validateRequestOptions()
Returns
the response to the request

◆ getErrorResponseTypeImpl()

AbstractDataProviderType SwaggerDataProvider::SwaggerRequestDataProvider::getErrorResponseTypeImpl ( string  error_code)
private

Returns the type for the given error code.

Parameters
error_codethe error code for the response; must be a known error code, or an UNKNOWN-ERROR-RESPONSE exception is thrown
Returns
the type for the given error code
Exceptions
UNKNOWN-ERROR-RESPONSEthe error response given is not known

◆ getRecordTypeImpl()

*hash< string, AbstractDataField > SwaggerDataProvider::SwaggerRequestDataProvider::getRecordTypeImpl ( *hash< auto >  search_options)
private

Returns the description of the record type, if any.

Returns the record type description for any successful response

◆ requestSearchRecordsImpl() [1/2]

AbstractDataProviderRecordIterator SwaggerDataProvider::SwaggerRequestDataProvider::requestSearchRecordsImpl ( auto  req,
*hash< DataProviderExpression >  where_cond,
*hash< auto >  search_options 
)
private

Returns an iterator for zero or more records matching the search options.

Parameters
reqthe request to serialize and make according to the request type
where_condthe search criteria
search_optionsthe search options after processing by validateSearchOptions()

This will execute the request and perform a default search on any record(s) returned

Exceptions
SWAGGER-SEARCH-ERRORthe response type is not list or hash and does not support searching

◆ requestSearchRecordsImpl() [2/2]

AbstractDataProviderRecordIterator SwaggerDataProvider::SwaggerRequestDataProvider::requestSearchRecordsImpl ( auto  req,
*hash< auto >  where_cond,
*hash< auto >  search_options 
)
private

Returns an iterator for zero or more records matching the search options.

Parameters
reqthe request to serialize and make according to the request type
where_condthe search criteria
search_optionsthe search options after processing by validateSearchOptions()

This will execute the request and perform a default search on any record(s) returned

Exceptions
SWAGGER-SEARCH-ERRORthe response type is not list or hash and does not support searching