292 "serialize": \make_yaml(),
293 "serialize_verbose":
string sub (
auto val) {
return make_yaml(val, BlockStyle);},
294 "deserialize": \parse_yaml(),
302 "serialize": \make_json(),
303 "serialize_verbose":
string sub (
auto val) {
return make_json(val, JGF_ADD_FORMATTING);},
304 "deserialize": \parse_json(),
317 "serialize": \make_xml(),
318 "serialize_verbose":
string sub (
auto val) {
return make_xml(val, XGF_ADD_FORMATTING);},
319 "deserialize": \parse_xml(),
323 # Content-Type: application/x-www-form-urlencoded
324 MimeTypeFormUrlEncoded: (
325 "serialize": \mime_get_form_urlencoded_string(),
326 "serialize_verbose": \mime_get_form_urlencoded_string(),
327 "deserialize": \mime_parse_form_urlencoded_string(),
329 # Content-Type: multipart/form-data (handled manually)
330 MimeTypeMultipartFormData: {},
414 hash<string, bool>
enum;
438 check(
bool serialize,
bool request,
string type, *
string format, *
SchemaObject items,
string path,
string method,
string name, reference<auto> value);
443 checkStringIntern(
string path,
string method,
string name,
string value);
448 checkIntern(
bool serialize,
bool request,
string type, *
string format,
string path,
string method,
string name, list<auto> v, reference<list> value);
453 checkIntern(
bool serialize,
bool request,
string type, *
string format,
string path,
string method,
string name, hash<auto> v, reference<hash> value);
458 checkIntern(
bool serialize,
bool request,
string type, *
string format,
string path,
string method,
string name,
int v, reference<auto> value);
463 checkIntern(
bool serialize,
bool request,
string type, *
string format,
string path,
string method,
string name, number v, reference<number> value);
468 checkIntern(
bool serialize,
bool request,
string type, *
string format,
string path,
string method,
string name,
float v, reference<number> value);
473 checkInternNumber(
bool serialize,
bool request,
string type, *
string format,
string path,
string method,
string name,
auto v, reference<auto> value);
479 checkIntern(
bool serialize,
bool request,
string type, *
string format,
string path,
string method,
string name, binary v, reference value);
485 checkIntern(
bool serialize,
bool request,
string type, *
string format,
string path,
string method,
string name,
string v, reference<auto> value);
491 checkIntern(
bool serialize,
bool request,
string type, *
string format,
string path,
string method,
string name, date v, reference value);
496 checkIntern(
bool serialize,
bool request,
string type, *
string format,
string path,
string method,
string name,
bool v, reference<bool> value);
501 checkIntern(
bool serialize,
bool request,
string type, *
string format,
string path,
string method,
string name, nothing v, reference<nothing> value);
738 hash<string, hash<string, SchemaObject>>
so_map;
768 constructor(
string schema_source, hash<auto> oh, *hash<auto> opts) ;
791 constructor(LoggerInterface logger,
string schema_source, hash<auto> oh, *hash<auto> opts) ;
800 *
int getParseFlags();
868 hash<RestSchemaValidator::RestRequestClientInfo>
processRequestImpl(
string method,
string path,
auto body, *hash<auto> headers, *softlist<string> content_types);
885 hash<RestSchemaValidator::RestRequestServerInfo>
parseRequestImpl(
string method,
string path, *data http_body, reference<hash> headers);
910 hash<HttpResponseInfo>
processResponseImpl(
string method,
string path,
int code,
auto response_body, *hash<auto> headers, *softlist<string> content_types);
926 hash<RestSchemaValidator::RestResponseClientInfo>
parseResponseImpl(
string method,
string path,
int code, *data response_body, hash<auto> hdr);
981 hash<RestSchemaValidator::RestExampleRequestInfo>
getExampleRequestImpl(
string method,
string path, *softlist<string> content_types);
1131 bool checkResponseTextPlain(reference<hash<HttpResponseInfo>> resp,
auto body, hash<string, bool> mime_types, *list<auto> content_types);
1253 constructor(
string full_path, list<auto> l,
int offset, hash<auto> oh);
1598 getQoreExampleParams(reference<hash<auto>> query, reference<hash<auto>> headers, hash<string, AbstractParameterObject>
parameters, *hash<string, AbstractParameterObject> child_params);
1604 doDefaultParams(reference<hash<UriQueryInfo>> h, reference<hash> headers, reference<auto>
body, hash<string, AbstractParameterObject>
parameters, *hash<string, AbstractParameterObject> child_params);
1610 checkMissingParams(hash<UriQueryInfo> h, *hash<auto> headers,
auto body, hash<string, AbstractParameterObject>
parameters, *hash<string, AbstractParameterObject> child_params);
1719 const OtherParameterMap = ...;
1736 abstract
check(
bool serialize,
bool request,
string path,
string method,
string name, reference value);
1765 check(
bool serialize,
bool request,
string path,
string method,
string name, reference value);
1773 auto getExampleValue();
1852 check(
bool serialize,
bool request,
string path,
string method,
string name, reference<auto> value);
2198 auto getExampleValue();
2202 check(
bool serialize,
bool request,
string path,
string method,
string name, reference<auto> value);
2206 checkObjectProperty(
string name,
string prop);
2211 checkIntern(
bool serialize,
bool request,
string type, *
string format,
string path,
string method,
string name, nothing v, reference<nothing> value);
2217 checkIntern(
bool serialize,
bool request,
string type, *
string format,
string path,
string method,
string name, hash<auto> v, reference<hash<auto>> value);
2446 const SwaggerListToStringSet = -1;
2448 const SwaggerListToAnySet = -2;
2449 const SwaggerListToHashOfStrings = -3;
2451 const TypeMap = ...;
2465 required_field(
string objType, hash<auto> oh,
string name,
int typeCode, reference<auto> target, *
int opt_flags);
2479 required_field(
string objType, hash<auto> oh,
string name, hash<string, bool> typeCodes, reference<auto> target);
2494 bool optional_field(
string objType, hash<auto> oh,
string name,
int typeCode, reference<auto> target, *
int opt_flags);
2509 bool optional_field(
string objType, hash<auto> oh,
string name, hash<string, bool> typeCodes, reference<auto> target);
2513 *
bool check_type_code(
string objType, hash<auto> oh,
string name,
auto val,
int typeCode, *
int opt_flags);
2517 get_value(
string objType,
string name,
int typeCode,
auto val, reference<auto> target);
2521 string get_qore_type(
string name,
string type, *
string format, *SchemaObject items);
Describes a single operation parameter.
Definition: Swagger.qm.dox.h:1687
bool required
Determines whether this parameter is mandatory.
Definition: Swagger.qm.dox.h:1716
auto getDefaultValue()
returns the default value of the parameter (default: NOTHING)
abstract check(bool serialize, bool request, string path, string method, string name, reference value)
verifies the parameter in an actual REST API call
constructor(hash< auto > oh, *int opt_flags)
Constructor.
string name
Required. The name of the parameter. Parameter names are case sensitive.
Definition: Swagger.qm.dox.h:1698
string inLoc
Required. The location of the parameter.
Definition: Swagger.qm.dox.h:1705
static AbstractParameterObject newParameter(string name, hash< auto > oh, SwaggerSchema swagger)
gets a concrete instance of an AbstractParameterObject
*string desc
A brief description of the parameter. This could contain examples of use. GFM syntax can be used for ...
Definition: Swagger.qm.dox.h:1708
AbstractParameterObject specialization for "body" parameters.
Definition: Swagger.qm.dox.h:1747
string getQoreExample(reference< hash< RestQoreExampleCodeInfo > > rv)
generates Qore example code for a REST API call
SchemaObject schema
Required. The schema defining the type used for the body parameter.
Definition: Swagger.qm.dox.h:1751
check(bool serialize, bool request, string path, string method, string name, reference value)
verifies the parameter in an actual REST API call
constructor(hash< auto > oh, SwaggerSchema swagger)
Constructor.
Allows referencing an external resource for extended documentation.
Definition: Swagger.qm.dox.h:1630
*string desc
A short description of the target documentation. GFM syntax can be used for rich text representation.
Definition: Swagger.qm.dox.h:1634
constructor(hash< auto > oh)
Constructor.
string url
Required. The URL for the target documentation. Value MUST be in the format of a URL.
Definition: Swagger.qm.dox.h:1637
The object provides metadata about the API. The metadata can be used by the clients if needed,...
Definition: Swagger.qm.dox.h:1143
string version
Required. Provides the version of the application API (not to be confused with the specification vers...
Definition: Swagger.qm.dox.h:1156
constructor(hash< auto > oh)
Constructor.
string title
Required. The title of the application.
Definition: Swagger.qm.dox.h:1147
*LicenseObject license
The license information for the exposed API.
Definition: Swagger.qm.dox.h:1162
*ContactObject contact
The contact information for the exposed API.
Definition: Swagger.qm.dox.h:1159
*string termsOfService
The Terms of Service for the API.
Definition: Swagger.qm.dox.h:1153
*string desc
A short description of the application. GFM syntax can be used for rich text representation.
Definition: Swagger.qm.dox.h:1150
License information for the exposed API.
Definition: Swagger.qm.dox.h:1199
constructor(hash< auto > oh)
Constructor.
string name
Required. The license name used for the API.
Definition: Swagger.qm.dox.h:1203
*string url
A URL to the license used for the API. MUST be in the format of a URL.
Definition: Swagger.qm.dox.h:1206
Base class for the Swagger specification objects, wrapping the vendor extensions.
Definition: Swagger.qm.dox.h:344
initialize(hash< auto > oh)
Initialize.
hash< auto > vendorExtensions
Allows extensions to the Swagger Schema.
Definition: Swagger.qm.dox.h:352
constructor(ObjectBase other)
copy constructor
constructor(hash< auto > oh)
Constructor.
constructor()
Constructor.
Describes a single API operation on a path.
Definition: Swagger.qm.dox.h:1403
list< string > schemes
The transfer protocol for the operation.
Definition: Swagger.qm.dox.h:1484
*string desc
A verbose explanation of the operation behavior. GFM syntax can be used for rich text representation.
Definition: Swagger.qm.dox.h:1422
checkMissingParams(hash< UriQueryInfo > h, *hash< auto > headers, auto body, hash< string, AbstractParameterObject > parameters, *hash< string, AbstractParameterObject > child_params)
checks for missing params
hash< string, bool > produces
A hash of MIME types (strings) the operation can produce.
Definition: Swagger.qm.dox.h:1457
*ExternalDocumentationObject externalDocs
Additional external documentation for this operation.
Definition: Swagger.qm.dox.h:1432
string path
the URI path for the operation
Definition: Swagger.qm.dox.h:1407
validateResponse(string method, string path, PathItemObject pio, int http_code, reference< auto > response_body, reference< hash< string, bool > > mime_types, bool deserialize=True)
validates a response against the response definition, if any
*string summary
A short summary of what the operation does.
Definition: Swagger.qm.dox.h:1419
hash< string, AbstractParameterObject > parameters()
A hash of parameters that are applicable for this operation.
hash< RestQoreExampleCodeInfo > getQoreExampleRequest(string method, string path, PathItemObject pio, SwaggerSchema swagger)
returns example Qore code for the given request
string method
the HTTP method for the operation
Definition: Swagger.qm.dox.h:1410
AbstractParameterObject body
body parameter; if defined for this operation, formData parameter will be excluded
Definition: Swagger.qm.dox.h:1471
hash< RestQoreExampleCodeInfo > getQoreExampleResponse(string method, string path, int code)
returns example Qore code for the given response
*data getRequestBody(PathItemObject pio, auto body, reference< hash< auto > > headers)
Processes a generated request.
validateRequest(bool serialize, PathItemObject pio, reference< hash< UriQueryInfo > > h, reference< auto > body, reference< hash > headers, *reference< hash< string, bool > > mime_types)
processes a REST API client-side request to the operation
hash< RestExampleResponseInfo > getExampleResponse(string method, string path, int code, reference< auto > body)
returns a hash of example message information for the given request
parseRequest(PathItemObject pio, reference< hash< UriQueryInfo > > h, reference< auto > body, reference< hash > headers)
parses and processes a REST request on the server side
doDefaultParams(reference< hash< UriQueryInfo > > h, reference< hash > headers, reference< auto > body, hash< string, AbstractParameterObject > parameters, *hash< string, AbstractParameterObject > child_params)
add default parameters
ResponsesObject responses
Required. The list of possible responses as they are returned from executing this operation.
Definition: Swagger.qm.dox.h:1477
error(string err, string fmt)
raises an exception with context information
list tags
A list of tags (strings or TagObjects) for API documentation control.
Definition: Swagger.qm.dox.h:1416
*ResponseObject getResponse(int code)
returns the ResponseObject for hthe given HTTP code or NOTHING if none is configured
*string operationId
Unique string used to identify the operation.
Definition: Swagger.qm.dox.h:1441
hash< string, AbstractParameterObject > formData
formData parameter; if defined for this operation, body parameter will be excluded
Definition: Swagger.qm.dox.h:1474
hash< RestSchemaValidator::RestExampleRequestInfo > getExampleRequest(string method, string path, PathItemObject pio, SwaggerSchema swagger, reference rbody)
returns a hash of example message information for the given request
list< hash< string, list< string > > > security
A declaration of which security schemes are applied for this operation.
Definition: Swagger.qm.dox.h:1499
hash< string, bool > consumes
A list of MIME types (strings) the operation can consume.
Definition: Swagger.qm.dox.h:1449
bool deprec
Declares this operation to be deprecated.
Definition: Swagger.qm.dox.h:1429
constructor(string path, string method, hash< auto > oh, SwaggerSchema swagger)
Constructor.
AbstractParameterObject specialization for parameters other than "body".
Definition: Swagger.qm.dox.h:1778
constructor(string name, hash< auto > oh, SwaggerSchema swagger)
Constructor.
*string format
The extending format for the previously mentioned type. See Data Type Formats for further details.
Definition: Swagger.qm.dox.h:1794
bool allowEmptyValue
Sets the ability to pass empty-valued parameters.
Definition: Swagger.qm.dox.h:1802
check(bool serialize, bool request, string path, string method, string name, reference< auto > value)
validates the value against the schema definition
const ParameterTypes
valid parameter types
Definition: Swagger.qm.dox.h:1834
auto defaultVal
Declares the value of the parameter that the server will use if none is provided.
Definition: Swagger.qm.dox.h:1831
auto getDefaultValue()
returns the default value of the parameter (default: NOTHING)
*ParameterItemsSchemaObject items
Required if type is "array". Describes the type of items in the array.
Definition: Swagger.qm.dox.h:1805
auto getExampleValue()
returns an example value of the parameter (default: NOTHING)
static checkValueType(reference< auto > value, string type, *SchemaObject items, *string loc)
validates default values
string type
Required. The type of the parameter.
Definition: Swagger.qm.dox.h:1791
*string collectionFormat
Determines the format of the array if type array is used.
Definition: Swagger.qm.dox.h:1821
items schema object for non-body parameters
Definition: Swagger.qm.dox.h:2248
*string collectionFormat
Determines the format of the array if type array is used.
Definition: Swagger.qm.dox.h:2265
constructor(string name, hash< auto > oh, SwaggerSchema swagger)
private constructor; use newSchemaObject() instead
static ParameterItemsSchemaObject newSchemaObject(string name, hash< auto > oh, SwaggerSchema swagger)
returns a SchemaObject for the schema definition; resolves references
static ParameterItemsSchemaObject newSchemaObject(string name, auto error, SwaggerSchema swagger)
throws an "INVALID-FIELD-TYPE" exception
Holds the relative paths to the individual endpoints.
Definition: Swagger.qm.dox.h:1226
constructor(hash< auto > oh, string pfx, SwaggerSchema swagger)
creates the object
constructor(string full_path, list< auto > l, int offset, hash< auto > oh)
private constructor
add(string full_path, list< auto > l, int offset, hash< auto > oh, SwaggerSchema swagger)
adds a component or a Path Item Object to the tree
hash< string, PathComponent > paths
hash of non-wildcard paths to the next level
Definition: Swagger.qm.dox.h:1243
PathItemObject match(list< auto > path)
returns either a PathItemObject for the path
getPathOperationHash(reference< hash< string, list< string > > > h)
returns a hash of URI paths as keys with values as lists of supported HTTP methods
*PathItemObject tryMatch(list< auto > path)
returns either a PathItemObject for the path
string name
current component name
Definition: Swagger.qm.dox.h:1234
*PathComponent wildcard
if there is a wildcard to a PathComponent
Definition: Swagger.qm.dox.h:1237
string pfx
path prefix
Definition: Swagger.qm.dox.h:1231
*PathItemObject pio
the PathItemObject associated with this path (if any)
Definition: Swagger.qm.dox.h:1240
Describes the operations available on a single path.
Definition: Swagger.qm.dox.h:1329
hash< string, AbstractParameterObject > parameters()
A hash of parameters that are applicable for all the operations described under this path.
softlist getMethods()
returns a list of HTTP methods supported by this object
*string ref
Allows for an external definition of this path item.
Definition: Swagger.qm.dox.h:1338
hash< string, OperationObject > operations
A hash of OperationObjects correspoding to different methods.
Definition: Swagger.qm.dox.h:1367
OperationObject getOperation(string method, string path)
returns the operation object for the given method
AbstractParameterObject body
The body parameter, if defined for this path.
Definition: Swagger.qm.dox.h:1353
constructor(string path, hash< auto > oh, SwaggerSchema swagger)
Constructor.
This class stores the path tree for URI path matching.
Definition: Swagger.qm.dox.h:1283
*PathItemObject tryMatch(string path)
matches a URI path with a PathItemObject
PathItemObject match(string path)
matches a URI path with a PathItemObject
constructor(hash< auto > oh, SwaggerSchema swagger)
Constructor.
PathComponent paths
the tree of path components for path matching with wildcards
Definition: Swagger.qm.dox.h:1288
hash< string, list< string > > getPathOperationHash()
returns a hash of URI paths as keys with values as lists of supported HTTP methods
Describes a single response from an API Operation.
Definition: Swagger.qm.dox.h:1903
*SchemaObject schema
A definition of the response structure.
Definition: Swagger.qm.dox.h:1916
string desc
Required. A short description of the response. GFM syntax can be used for rich text representation.
Definition: Swagger.qm.dox.h:1907
hash< auto > headers
A hash of headers that are (can be) sent with the response.
Definition: Swagger.qm.dox.h:1922
hash examples
A hash of example response messages.
Definition: Swagger.qm.dox.h:1932
static ResponseObject newResponse(string key, hash< auto > oh, SwaggerSchema swagger)
returns a new ResponseObject corresponding to the schema definition passed
constructor(string key, hash< auto > oh, SwaggerSchema swagger)
private constructor; use newResponse() instead
contains the possible responses for an operation
Definition: Swagger.qm.dox.h:1871
ResponseObject defaultResp
Definition: Swagger.qm.dox.h:1878
constructor(string path, string method, hash< auto > oh, SwaggerSchema swagger)
Constructor.
hash< string, ResponseObject > responses
Definition: Swagger.qm.dox.h:1885
Base used by OtherParameter, HeaderObject and SchemaObject.
Definition: Swagger.qm.dox.h:377
*bool exclusiveMin
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.3.
Definition: Swagger.qm.dox.h:390
checkArrayParam(bool serialize, bool request, SchemaObject items, string path, string method, string name, reference< softlist< auto > > value)
validates the value against the schema definition
auto getExampleValue(string type, *string format)
returns an example value for the given type
*int minItems
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.3.
Definition: Swagger.qm.dox.h:405
*float multipleOf
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.1.
Definition: Swagger.qm.dox.h:417
checkIntern(bool serialize, bool request, string type, *string format, string path, string method, string name, string v, reference< auto > value)
validates string values
constructor(string objType, hash< auto > oh)
Constructor.
*int maxItems
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.2.
Definition: Swagger.qm.dox.h:402
*int minLength
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.2.
Definition: Swagger.qm.dox.h:396
static throwInvalidType(string name, string actual, string expected, auto value)
throws an SCHEMA-VALIDATION-ERROR exception
*float maximum
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.2.
Definition: Swagger.qm.dox.h:381
checkIntern(bool serialize, bool request, string type, *string format, string path, string method, string name, binary v, reference value)
converts binary values to strings for supported formats
constructor(SchemaBase other)
Copy constructor.
*int maxLength
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.1.
Definition: Swagger.qm.dox.h:393
checkIntern(bool serialize, bool request, string type, *string format, string path, string method, string name, date v, reference value)
converts strings to/from date/time values for supported formats
*bool exclusiveMax
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.2.
Definition: Swagger.qm.dox.h:387
*bool uniqueItems
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.4.
Definition: Swagger.qm.dox.h:408
static bool checkValueType(reference< auto > value, string type)
Checks the value against the type.
*float minimum
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.3.
Definition: Swagger.qm.dox.h:384
check(bool serialize, bool request, string type, *string format, *SchemaObject items, string path, string method, string name, reference< auto > value)
validates the value against the schema definition
*string pattern
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.3.
Definition: Swagger.qm.dox.h:399
defines an object in a schema
Definition: Swagger.qm.dox.h:2046
auto additionalProperties
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.4.4.
Definition: Swagger.qm.dox.h:2100
bool readOnly
Relevant only for Schema "properties" definitions. Declares the property as "read only".
Definition: Swagger.qm.dox.h:2137
bool nullable
extension that allows types to be nullable
Definition: Swagger.qm.dox.h:2083
hash< string, SchemaObject > properties
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.4.4.
Definition: Swagger.qm.dox.h:2090
*string format
The extending format for the previously mentioned type. See Data Type Formats for further details.
Definition: Swagger.qm.dox.h:2060
static SchemaObject newSchemaObject(string name, auto error, SwaggerSchema swagger)
throws an "INVALID-FIELD-TYPE" exception
static SchemaObject newSchemaObject(string name, hash< auto > oh, SwaggerSchema swagger, *bool require_items)
returns a SchemaObject for the schema definition; resolves references
check(bool serialize, bool request, string path, string method, string name, reference< auto > value)
validates the value against the schema definition
constructor(string name, hash< auto > oh, SwaggerSchema swagger, *string hash_str, *bool require_items)
private constructor; use newSchemaObject() instead
list< SchemaObject > allOf()
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.5.3.
*int maxProperties
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.4.1.
Definition: Swagger.qm.dox.h:2075
string name
the name of this object for documentation and example purposes
Definition: Swagger.qm.dox.h:2050
string type
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.5.2.
Definition: Swagger.qm.dox.h:2057
*string discriminator
Adds support for polymorphism.
Definition: Swagger.qm.dox.h:2127
*SchemaObject items
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.1.
Definition: Swagger.qm.dox.h:2069
*XmlObject xml
This MAY be used only on properties schemas. It has no effect on root schemas.
Definition: Swagger.qm.dox.h:2158
hash< string, bool > nullable_properties
extention to allow properties to be nullable
Definition: Swagger.qm.dox.h:2093
string getQoreExample(reference< hash< RestQoreExampleCodeInfo > > rv, string name, bool decl)
returns example Qore code for the object
*ExternalDocumentationObject externalDocs
Additional external documentation for this schema.
Definition: Swagger.qm.dox.h:2161
const ScalarTypes
valid scalar types
Definition: Swagger.qm.dox.h:2167
static checkValueType(reference< auto > value, string type, *SchemaObject items, *string loc)
validates default values
*string desc
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-6.1.
Definition: Swagger.qm.dox.h:2066
auto defaultVal
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-6.2.
Definition: Swagger.qm.dox.h:2072
*string title
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-6.1.
Definition: Swagger.qm.dox.h:2063
checkIntern(bool serialize, bool request, string type, *string format, string path, string method, string name, hash< auto > v, reference< hash< auto > > value)
validates a schema object against a value
hash< string, bool > required
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.4.3.
Definition: Swagger.qm.dox.h:2106
auto example
A free-form property to include an example of an instance for this schema.
Definition: Swagger.qm.dox.h:2164
const ReferenceTypes
valid reference types
Definition: Swagger.qm.dox.h:2171
*int minProperties
See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.4.2.
Definition: Swagger.qm.dox.h:2078
Lists the available scopes for an OAuth2 security scheme.
Definition: Swagger.qm.dox.h:2423
constructor(hash< auto > oh)
Constructor.
hash< string, string > fields
Maps between a name of a scope to a short description of it (as the value of the property).
Definition: Swagger.qm.dox.h:2430
Allows the definition of a security scheme that can be used by the operations.
Definition: Swagger.qm.dox.h:2357
*string flow
The flow used by the OAuth2 security scheme.
Definition: Swagger.qm.dox.h:2384
*string authorizationUrl
The authorization URL to be used for this flow. This SHOULD be in the form of a URL.
Definition: Swagger.qm.dox.h:2390
string type
Required. The type of the security scheme. Valid values are "basic", "apiKey" or "oauth2".
Definition: Swagger.qm.dox.h:2361
*string inLoc
The location of the API key. Valid values are "query" or "header".
Definition: Swagger.qm.dox.h:2376
constructor(hash< auto > oh)
Constructor.
*string name
The name of the header or query parameter to be used.
Definition: Swagger.qm.dox.h:2370
*ScopesObject scopes
The available scopes for the OAuth2 security scheme.
Definition: Swagger.qm.dox.h:2406
*string desc
A short description for security scheme.
Definition: Swagger.qm.dox.h:2364
*string tokenUrl
The token URL to be used for this flow. This SHOULD be in the form of a URL.
Definition: Swagger.qm.dox.h:2396
Used for loading the Swagger definitions.
Definition: Swagger.qm.dox.h:524
static string detectSourceEncoding(string str)
tries to determine the Swagger schema source encoding automatically
static SwaggerSchema fromString(string swaggerSpecification, *bool json, *hash< auto > opts)
Load Swagger definition from a string.
static hash< auto > parseSchemaSource(string str, string ser)
parses the source encoding from the given string
static hash< auto > parseSchemaContent(string filepath, string str)
Load a schema definition from a file.
static SwaggerSchema fromUrl(string url, *bool json, *hash< auto > opts)
Load Swagger definition from a URL or file path.
static SwaggerSchema fromFile(string filepath, *hash< auto > opts)
Load Swagger definition from a file.
This is the root document object for the API specification. It combines what previously was the Resou...
Definition: Swagger.qm.dox.h:607
hash< RestQoreExampleCodeInfo > getQoreExampleResponseImpl(string method, string path, int code)
returns example Qore code for the given response
hash< HttpResponseInfo > processResponseImpl(string method, string path, int code, auto response_body, *hash< auto > headers, *softlist< string > content_types)
processes a REST response with a serialized message body, validates any response data against schema ...
AbstractDataProvider getDataProviderImpl(HTTPClient rest)
returns a data provider object for this connection
setTimeZoneLocaleImpl(*TimeZone tz)
Allows the time zone locale to be set for serialization / deserialization.
hash< RestSchemaValidator::RestRequestServerInfo > parseRequestImpl(string method, string path, *data http_body, reference< hash > headers)
processes and parses a client request and returns the deserialized message body (if any)
bool checkResponseTextPlain(reference< hash< HttpResponseInfo > > resp, auto body, hash< string, bool > mime_types, *list< auto > content_types)
Check if the response body can be sent as text/plain and if so, modify the response hash.
hash< string, bool > produces
A set of MIME types (strings) the APIs can produce.
Definition: Swagger.qm.dox.h:660
hash< RestQoreExampleCodeInfo > getQoreExampleRequestImpl(string method, string path)
returns example Qore code for the given request
string getTargetUrlImpl()
returns the target URL for the schema
setBasePathImpl(string basePath)
overrides the basePath value
hash< string, SchemaObject > definitions()
An object to hold data types produced and consumed by operations.
bool checkResponseContentTypeHeader(reference< hash< HttpResponseInfo > > resp, auto body, *hash< auto > headers)
Check if the headers contain a content-type header and if so, modify the response hash.
hash< string, hash< string, SchemaObject > > so_map
maps name -> SHA1 hash of the config -> schema objects for recursive references
Definition: Swagger.qm.dox.h:738
hash< string, list< string > > getPathOperationHashImpl()
returns a hash of URI paths as keys with values as lists of supported HTTP methods
*hash< auto > source_definition_hash
the raw parsed definitions; used for resolving out-of-order references
Definition: Swagger.qm.dox.h:744
*string def_path
the default path to use when retrieving external schema references
Definition: Swagger.qm.dox.h:724
hash< HttpResponseInfo > processResponseIntern(string method, string path, int code, auto response_body, *hash< auto > headers, *softlist< string > content_types, bool compact_serialization)
processes a REST response with a serialized message body, validates any response data against schema ...
hash< string, softlist< string > > security
A declaration of which security schemes are applied for the API as a whole.
Definition: Swagger.qm.dox.h:698
hash< string, ResponseObject > responses
Response definitions that can be used across operations. This property does not define global respons...
Definition: Swagger.qm.dox.h:678
*ExternalDocumentationObject externalDocs
Additional external documentation.
Definition: Swagger.qm.dox.h:713
constructor(LoggerInterface logger, string schema_source, hash< auto > oh, *hash< auto > opts)
Builds the schema representation from the deserialized schema hash describing the root document objec...
hash< RestSchemaValidator::RestExampleRequestInfo > getExampleRequestImpl(string method, string path, *softlist< string > content_types)
returns a hash of example message information for the given request
string getBasePathImpl()
returns the base path prefix for all requests in this schema
ResponseObject resolveResponse(string name, string refstr, hash< auto > oh)
resolves a reference to a response
AbstractParameterObject resolveParameter(string name, string refstr, hash< auto > oh)
resolves a reference to a parameter
hash< RestSchemaValidator::RestRequestClientInfo > processRequestIntern(string method, string path, auto body, *hash< auto > headers, *softlist< string > content_types, bool compact_serialization)
processes a client-side REST request and returns a hash that can be used to make the outgoing client-...
bool checkRequestContentTypeHeader(reference< hash< RestRequestClientInfo > > req, auto body, *hash< auto > headers)
Check if the headers contain a content-type header and if so, modify the request hash.
*code try_import
a call reference or closure to be passed a string name for external schema references
Definition: Swagger.qm.dox.h:729
*string basePath
The base path on which the API is served, which is relative to the host.
Definition: Swagger.qm.dox.h:638
constructorIntern(string schema_source, hash< auto > oh, *hash< auto > opts)
common constructor implementation
string hash_str
the hash for the schema
Definition: Swagger.qm.dox.h:732
hash< string, SecuritySchemeObject > securityDefinitions
Security scheme definitions that can be used across the specification.
Definition: Swagger.qm.dox.h:684
ParameterItemsSchemaObject resolveParameterItemsSchemaObject(string name, string refstr, hash< auto > oh)
resolves a reference to a parameter items schema object
*int opt_flags
parse option flags
Definition: Swagger.qm.dox.h:735
SchemaObject processDefinition(string key, auto value)
Processes a schema definition.
string swaggerSpec
Swagger Specification version being used.
Definition: Swagger.qm.dox.h:615
SchemaObject resolveSchemaObject(string name, string refstr, hash< auto > oh)
resolves a reference to a schema object
*TimeZone getTimeZoneLocaleImpl()
Returns the time zone locale used for serialization / deserialization.
InfoObject info
Required. Provides metadata about the API. The metadata can be used by the clients if needed.
Definition: Swagger.qm.dox.h:618
string getHashImpl()
returns a unique hash for the schema that can be used to compare schemas
hash< auto > getExternalReference(string refstr)
retrieves external references
bool compact_serialization
if serialized data should be subject to compact serialization (default: True)
Definition: Swagger.qm.dox.h:721
const SwaggerOptions
SwaggerSchema options.
Definition: Swagger.qm.dox.h:716
fixPath(reference< string > path)
removes the base path from the beginning of the path, if present
constructor(string schema_source, hash< auto > oh, *hash< auto > opts)
Builds the schema representation from the deserialized schema hash describing the root document objec...
hash< RestExampleResponseInfo > getExampleResponseImpl(string method, string path, int code, *softlist< string > content_types)
returns a hash of example message information for the given request
*string host
The host (name or IP) serving the API.
Definition: Swagger.qm.dox.h:630
hash< RestSchemaValidator::RestResponseClientInfo > parseResponseImpl(string method, string path, int code, *data response_body, hash< auto > hdr)
parses and validates the response from the server and returns a hash of the processed info
hash< string, bool > consumes
A set of MIME types (strings) the APIs can consume.
Definition: Swagger.qm.dox.h:653
hash< string, bool > schemes
The transfer protocol of the API.
Definition: Swagger.qm.dox.h:646
PathsObject paths
Required. The available paths and operations for the API.
Definition: Swagger.qm.dox.h:621
list< TagObject > tags
A list of tags used by the specification with additional metadata.
Definition: Swagger.qm.dox.h:710
hash< RestSchemaValidator::RestRequestClientInfo > processRequestImpl(string method, string path, auto body, *hash< auto > headers, *softlist< string > content_types)
processes a client-side REST request and returns a hash that can be used to make the outgoing client-...
hash< string, AbstractParameterObject > parameters()
Parameter definitions that can be used across operations. This property does not define global parame...
Allows adding metadata to a single tag that is used by the OperationObject. It is not mandatory to ha...
Definition: Swagger.qm.dox.h:2022
*ExternalDocumentationObject externalDocs
Additional external documentation for this tag.
Definition: Swagger.qm.dox.h:2032
*string desc
A short description for the tag. GFM syntax can be used for rich text representation.
Definition: Swagger.qm.dox.h:2029
string name
Required. The name of the tag.
Definition: Swagger.qm.dox.h:2026
constructor(hash< auto > oh)
Constructor.
A metadata object that allows for more fine-tuned XML model definitions.
Definition: Swagger.qm.dox.h:2312
bool wrapped
MAY be used only for an array definition. Signifies whether the array is wrapped (for example,...
Definition: Swagger.qm.dox.h:2339
*string name
Replaces the name of the element/attribute used for the described schema property.
Definition: Swagger.qm.dox.h:2323
bool attribute
Declares whether the property definition translates to an attribute instead of an element....
Definition: Swagger.qm.dox.h:2332
constructor(hash< auto > oh)
Constructor.
*string prefix
The prefix to be used for the name.
Definition: Swagger.qm.dox.h:2329
*string ns
The URL of the namespace definition. Value SHOULD be in the form of a URL.
Definition: Swagger.qm.dox.h:2326
const LM_IGNORE_INVALID_REQUIRED
parse option: ignore invalid "required" properties
Definition: Swagger.qm.dox.h:255
const LM_ALL
parse options: all options
Definition: Swagger.qm.dox.h:264
const LM_ACCEPT_INVALID_BODY_PARAMS
parse option: reconstruct invalid body parameters
Definition: Swagger.qm.dox.h:258
const LM_AUTO_FORM_DATA
parse option: add consumes application/x-www-form-urlencoded to API endpoint if formData is used in p...
Definition: Swagger.qm.dox.h:261
const LM_LAX_COLLECTIONFORMAT
parse option: allow collectionFormat on non-array types
Definition: Swagger.qm.dox.h:252
const LM_IGNORE_MISSING_REQUIRED
Definition: Swagger.qm.dox.h:249
main namespace for all public Swagger declarations
Definition: Swagger.qm.dox.h:243
const CollectionFormats
allowed collection formats
Definition: Swagger.qm.dox.h:276
const ValidNumberFormats
Valid number type formats.
Definition: Swagger.qm.dox.h:271
const ValidStringFormatsHash
A hash of valid string type formats.
Definition: Swagger.qm.dox.h:288
const ValidNumberFormatsHash
A hash of valid number type formats.
Definition: Swagger.qm.dox.h:286
const ParameterCollectionFormats
valid parameter collection formats
Definition: Swagger.qm.dox.h:280
const SerializationModules
modules available for data serialization and/or deserialization
Definition: Swagger.qm.dox.h:334
const ValidStringFormats
Valid string type formats.
Definition: Swagger.qm.dox.h:273
const ValidIntFormatsHash
A hash of valid integer type formats.
Definition: Swagger.qm.dox.h:284
const MimeDataTypes
supported mime types for de/serializing data
Definition: Swagger.qm.dox.h:299
const MimeContentTypes
MIME types for data serialization.
Definition: Swagger.qm.dox.h:337
const ValidIntFormats
Valid integer type formats.
Definition: Swagger.qm.dox.h:269
const YamlSerialization
Yaml serialization.
Definition: Swagger.qm.dox.h:291
const ValidSchemes
Valid transfer protocol schemes.
Definition: Swagger.qm.dox.h:340