Qore SwaggerDataProvider Module Reference  1.0.3
SwaggerDataProvider::SwaggerRequestDataProvider Class Reference

The Swagger data provider class. More...

Inheritance diagram for SwaggerDataProvider::SwaggerRequestDataProvider:

Public Member Methods

 constructor (SwaggerSchema schema, *RestClient rest, string uri_path, PathItemObject pio, OperationObject op)
 Creates the object from the arguments.
 
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 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.
 
*RestClient rest
 The REST client object for API calls.
 
SwaggerSchema schema
 The Swagger schema.
 
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< 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 name, string type, *SchemaObject arrayItems, *string desc, bool required)
 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.
 
AbstractDataProviderType getSchemaDataType (SchemaObject schema, bool required=True)
 Returns the data type for the given schema.
 
hash< DataProviderInfo > getStaticInfoImpl ()
 Returns data provider static info.
 
AbstractDataProviderType getType (string typestr, *SchemaObject arrayItems, bool required=True)
 Returns the data type corresponding to the values.
 

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()

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; will be processed by processFieldValues()
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