@axway/api-builder-plugin-ft-oas

2.2.1 • Public • Published

@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 as request.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 to RequestValidationMode.
  • #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 constraints minLength, maxLength, and pattern.

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, and byte, and added acceptable unvalidated formats float, double, binary, and password.

0.12.0

  • #7271: Breaking change: Changed the directory from which OpenAPI specifications are loaded from endpoints to apidocs/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 and exclusiveMaximum. 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 a 400 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 or multipart/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 and application/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.

Package Sidebar

Install

npm i @axway/api-builder-plugin-ft-oas

Weekly Downloads

186

Version

2.2.1

License

SEE LICENSE IN LICENSE

Unpacked Size

96.4 kB

Total Files

16

Last publish

Collaborators

  • buildernpmuser
  • nkeranova
  • axway-npm
  • bladedancer
  • ddimonov-axway
  • neon-axway
  • vchauhan
  • mdimitrova
  • pdzhorev
  • axway_alasdair
  • pltod2
  • pbozhkovaxway
  • mbonchev-axway
  • axway-vertex