@axway/api-builder-plugin-ft-oas
This is a plugin for API Builder that provides a OpenAPI flow-trigger for providing a pluggable interface that can be used to provide an API First experience with an OpenAPI 2 or OpenAPI 3 specifications, that can be used to bind operations to Flows.
Installation
You can install this plugin into an existing API Builder project. Follow the Getting Started Guide to create an API Builder service if you do not already have one.
npm install @axway/api-builder-plugin-ft-oas
Changes
2.2.1
- #7600: Fix @axway/requester explicit dependencies.
2.2.0
- #7599: Update
@axway/requester
.
2.1.0
- #7595: Update
@axway/requester
dependency.
2.0.2
- #7538: Update
@axway/api-builder-oas-flow-node
dependency.
2.0.1
- #7517: Update
@axway/api-builder-oas-flow-node
dependency.
2.0.0
- #6089: Breaking change: requires minimum Node.js version 16.x.
- #7440: Fixes CVE-2022-24434.
1.6.7
- #7538: Update
@axway/api-builder-oas-flow-node
dependency.
1.6.6
- #7470: Update
@axway/api-builder-oas-flow-node
dependency.
1.6.5
- #7466: Update
@axway/api-builder-oas-flow-node
dependency.
1.6.4
- #7474: Internal dev-dependency move.
1.6.3
- #7399: Internal optimization in test framework.
1.6.2
- #7412: Pin in-house dependencies.
1.6.1
- #7411: Internal bump.
1.6.0
- #7439: Added the HTTP request-id to the flow-trigger
request
output asrequest.id
.
1.5.1
- #7433: Fixes issue when importing OpenAPI specification with no extension. Now defaults to .yaml.
1.5.0
- #7287: Support consistent HTTP request-id for inbound API Builder HTTP requests and their subsequent related flow and flow-trigger logs. This feature is enabled when using at least API Builder
Nantes
version.
1.4.0
- #7348: Now exports the API version for each specification.
1.3.2
- #7394: Fix bug where response JSON schema validation is run against the response body before encoding it as JSON. This would cause JavaScript Dates objects to fail validation (expected type string), even though they were correctly returned as strings from the API after automatic JSON encoding.
1.3.1
- #7366: Added the express route guide link to the invalid path parameter name error message.
1.3.0
- #7345: Now supports Node.js 16.
1.2.0
- #7102: OpenAPI specs are now validated to check for invalid path parameter names that contain characters that are incompatible with Express route parameters, i.e. names that contain characters other than
A-Z a-z 0-9 _
.
1.1.1
- #6933: Update
@axway/api-builder-oas-flow-node
dependency.
1.1.0
- #7349: Add support for importing specifications with duplicated names.
- #7349: Fixes "Invalid trigger ID" error when OpenAPI file names contained character(s) that are not one of the valid set of characters:
A-Z a-z 0-9 - _ . ~
.
1.0.0
- #7332: Official release.
- #7332: Breaking change: Minimum API Builder version is now
Johannesburg
.
0.18.0
- #7315: Breaking change: Changed
Request validation
parameter key toRequestValidationMode
. - #7315: Added a new option "Response validation" that allows toggling between "error", "warn" and "disabled" modes. When set to "warn" or "disabled" and the response does not match the specification, processing will continue. When set to "warn", warning messages will be logged to the console.
0.17.1
- #7327: Added support for date string to Date object conversion for forms content types.
0.17.0
- #7327: Breaking change: Modified the behavior of "Parse date parameters" to support parsing form parameters and text/plain bodies.
0.16.2
- #7328: Fix for "Request validation" option that no longer logs the messages on 'debug' level when it is set to 'warn'.
0.16.1
- #7322: Now logs the reason(s) for failing to validate OpenAPI specifications on import.
0.16.0
- #7320: Breaking change: Support multiple specs.
0.15.2
- #7291: Added a new option "Request validation" that allows toggling between "error" and "warn" modes. When set to "warn" and request validation fails the app will not respond with 500 but will execute the flow and respond with the result of its execution.
0.15.1
- #7292: Added a new option "Parse date parameters". When set to
true
it will convert date string parameters with format of date or date-time to a Date object.
0.15.0
- #7277: Breaking change: Minimum API Builder version is now Ikeja.
- #7277: Added
delete
to the spec interface, that deletes the currently loaded OpenAPI specification.
0.14.0
- #7140: Breaking change: Responses are now validated against the OpenAPI specification. Validation strictly enforces that the flow response matches the documented status code, expected/required header(s), the response body, and that the body validates against the documented JSON schema.
0.13.5
- #7305: Fixed incorrect schema for the flow-trigger
request
output.
0.13.4
- #7284: Added a new option "Flatten parameters" that flatten all OpenAPI parameters into a single request property "params" that will be accessible from the flow from
$.request.params
.
0.13.3
- #7302: Added a new option "Lower-case all headers" that will force all headers to be lower-cased before they are passed into the flow, including OpenAPI header parameters which would normally be case-sensitive.
0.13.2
- #7303: Fixed issue where unknown formats were being stripped from JSON schema and then subsequently not enforced by the OAS flow-trigger.
0.13.1
- #7283:
multipart/form-data
schema validation for files now ignores schema with constraintsminLength
,maxLength
, andpattern
.
0.13.0
- #7285: Breaking change: Changed the way path parameters were provided to the flow from
$.request.params
to$.request.path
.
0.12.2
- #7297: Fixed issue where header parameters were incorrectly handled case-sensitive when validating the request. Now, headers parameters are case-insensitive for validation.
0.12.1
- #7289: Added format validation for OAS formats
int32
,int64
, andbyte
, and added acceptable unvalidated formatsfloat
,double
,binary
, andpassword
.
0.12.0
- #7271: Breaking change: Changed the directory from which OpenAPI specifications are loaded from
endpoints
toapidocs/openapi
.
0.11.1
- #7263: Internal refactoring.
0.11.0
- #7282: Breaking change: Ajv has been switched to version 6 which affects how some of the JSON Schema formats are being validated.
- #7282: Fixed issue validating some schemas that were incompatible JSON Schema Draft-06, for example
exclusiveMinimum
andexclusiveMaximum
. Now using JSON Schema Draft-04 for validation.
0.10.3
- #7250: now preserves the original OpenAPI filename when updating the specification, and may adjust the extension to match the newly imported file.
0.10.2
- #7264: Extended the plugin responses to include the status code and the request id.
0.10.1
- #7258: Internal refactoring.
0.10.0
- #7140: Breaking change: Minimum API Builder version is now Gondar.
- #7140: Added
getOperationId
to the spec interface.
0.9.1
- #7220: Added support for updating a previously imported OpenAPI document.
0.9.0
- #7168: Added behavior to auto-pick an appropriate
content-type
response header if not provided by the flow. - #7168: Breaking change: If the flow does not set a
content-type
header, and the OpenAPI document is ambiguous about the response content-type, then the API will return 500.
0.8.0
- #7212: Breaking change: Sending a body when the OAS definition does not define a
requestBody
will result in a400 Bad Request
. - #7212: Fixed an issue with request processing that can incorrectly treat requests having
content-length: 0
as being invalid, even when the body is optional.
0.7.0
- #7138: Breaking change: Minimum API Builder version is now Flint. Now supports configuration overrides in the OpenAPI 2.0 and 3.0 api-docs when
config.overrides
are enabled.
0.6.0
- #7195: Breaking change: Minimum API Builder version is now Flint. Fixed issue handling request body of content-type
application/x-www-form-urlencoded
ormultipart/form-data
when dereferencing JSON schema references to parse and validate the request body.
0.5.1
- #7213: Fixed an issue where a JSON encoded array request body would generate
400 Bad Request
.
0.5.0
- #7166: Breaking change: Minimum API Builder version is now Exeter. Now supports documenting TLS in the OpenAPI 2.0 and 3.0 api-docs when
config.ssl
is enabled.
0.4.0
- #7193: Breaking change: Minimum API Builder version is now 4.77.0. Now supports passing XML body to the flow as a string, as opposed to a
Buffer
, when the request has an "XML" type content-type header (e.g. application/xml).
0.3.2
- #7199: Update
@axway/api-builder-oas-style
dependency.
0.3.1
- #7111: Improved test coverage.
0.3.0
- #7182: Adds support for requestBody validation.
0.2.5
- #7153: Support stricter parameter style validation.
0.2.4
- #7155: Update
@axway/api-builder-oas-flow-node
dependency.
0.2.3
- #7135: HTTP response headers are now sent based on the flow HTTP response flow-node.
0.2.2
- #7142: Changed to bind apidocs on "openapi" instead of "oas", i.e.
/apidocs/openapi.yaml
and/apidocs/openapi.json
.
0.2.1
- #7123: Update
@axway/api-builder-oas-flow-node
dependency.
0.2.0
- #7148: Supports HTTP body parsing and validation for
multipart/form-data
andapplication/x-www-form-urlencoded
requests.
0.1.0
- #7136: Added feature to dedupe the configured apiPrefix from paths if they all start with apiPrefix.
0.0.9
- #7143: Adopted new internal unit-testing framework.