https://github.com/firetail-io/firetail-js-lib
https://github.com/firetail-io/firetail-js-lib
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/firetail-io/firetail-js-lib
- Owner: FireTail-io
- License: lgpl-3.0
- Created: 2023-04-06T10:37:14.000Z (over 2 years ago)
- Default Branch: dev
- Last Pushed: 2023-10-18T19:16:16.000Z (over 1 year ago)
- Last Synced: 2024-12-30T15:06:15.831Z (7 months ago)
- Language: TypeScript
- Size: 461 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Firetail JS Library
Frustrated with a lack of quality service level API tool? Firetail is here to help! [](https://www.npmjs.com/package/@public.firetail.io/firetail-api) is a middleware for **Express** and **Node** development. This document will cover setup and configuration. You can also find a complete working example, in the [sample](./sample) folder.
[](https://github.com/FireTail-io/firetail-js-lib/actions/workflows/codecov.yml)
[](https://codecov.io/gh/FireTail-io/firetail-js-lib)
[](https://github.com/FireTail-io/firetail-js-lib/blob/main/LICENSE.txt)## What is Firetail Middleware?
Firetail is a Middleware that intercept Http/Rest requests based on [OpenAPI Specification](https://www.openapis.org/) (formerly known as Swagger Spec) of your API described in [YAML format](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#format). Firetail allows you to write an OpenAPI specification, then maps the endpoints to your Node functions. You can describe your REST API in as much detail as you want; then Firetail guarantees that it will work as you specified.
## Firetail Features
- Validates requests and endpoint parameters automatically, based on your specification
- Setup firetail configuration in your package.json or in your app at runtime
- Helpful developer error messages
- Automatically filter out sensitive values from responses based on your definitions
- Can use Express **routes** or use dynamic functions with the `operationId`