# Extensions of the @vulcan-sql/serve package

The @vulcan-sql/serve provides 4 extension components:

| Extensions                                                     | Description                                                                                                                                                      |
| -------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [BaseAuthenticator](./vulcan-sql-serve/authenticator)          | Beside `simple-token`, `password-file` and `basic`, extend BaseAuthenticator to could provide other authentication                                               |
| [DocumentRouter](./vulcan-sql-serve/document-router)           | Beside [redoc](https://github.com/Redocly/redoc) layout style and documentation url route, extend DocumentRouter to provide other API documentation layout style |
| [BaseResponseFormatter](./vulcan-sql-serve/response-formatter) | Beside `json` and `csv`, extend BaseResponseFormatter to API could provide other response format                                                                 |

<!---
 [BaseRouteMiddleware](./vulcan-sql-serve/route-middleware)     | Beside current built-in middlewares e.g: `cors`, `rate-limit` ..., extend BaseRouteMiddleware to make API Server could do some prefix or postfix feature         |
--->