Security News
The Unpaid Backbone of Open Source: Solo Maintainers Face Increasing Security Demands
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Request and Response validator for OpenAPI Specification 3.
npm install --save koa-oas3
yarn add koa-oas3
By default, this library will use koa-bodyparser
to parse request body. See config of requestBodyHandler
.
import * as bodyParser from 'koa-bodyparser';
import { oas } from 'koa-oas3';
const app = new Koa();
app.use(bodyParser());
const oasMw = await oas({
file: `${__dirname}/../openapi.yaml`,
endpoint: '/openapi.json',
uiEndpoint: '/'
})
app.use(oasMw);
app.listen(8080);
file
- The absolute path to your Openapi filespec
- javascript object defining the api, either this or file
must be given.enableUi
(default: true) - Whether to enable serving Openapi JSON and UIendpoint
(default: /openapi.json) - The endpoint for serving Openapi JSONuiEndpoint
:(default: /openapi.html) - The endpoint for serving Openapi UIvalidateResponse
:(default: false) - Validate response against Openapi schemasvalidatePaths
:(default ['/']) - Only endpoints starting with the values specified here will be validatedswaggerUiBundleBasePath
: (default use swagger-ui-dist from unpkg) - swaggerUiAssetPath needed for loading the swagger-uivalidationOptions
: Optional - options for sending to oas3-chow-chow/AJVoasValidatorOptions
: Optional - options for sending to oas-validator. https://github.com/Mermade/oas-kit/blob/main/docs/options.mdqsParseOptions: { [key: string]: any}
: Optional - Options to be passed to the query string parse command. Default: { comma: true }
errorHandler: (error: Error, ctx: Context) => void,
: Optional - custom error hanlder.requestBodyHandler: { [key: string]: koa.Middleware }
: Optional - custom body handler. Defaults:{
'application/json': bodyParser({
extendTypes: {
json: ['application/json']
},
enableTypes: ['json']
}),
'text/*': bodyParser({
extendTypes: {
text: ['text/*']
},
enableTypes: ['text']
}),
'application/x-www-form-urlencoded': bodyParser({
extendTypes: {
form: ['application/x-www-form-urlencoded']
},
enableTypes: ['form']
})
}
Pull requests, issues and comments welcome. For pull requests:
yarn changeset
yarn install
For bigger changes, make sure you start a discussion first by creating an issue and explaining the intended change.
Atlassian requires contributors to sign a Contributor License Agreement, known as a CLA. This serves as a record stating that the contributor is entitled to contribute the code/documentation/translation to the project and is willing to have it used in distributions and derivative works (or is willing to transfer ownership).
Prior to accepting your contributions we ask that you please follow the appropriate link below to digitally sign the CLA. The Corporate CLA is for those who are contributing as a member of an organization and the individual CLA is for those contributing as an individual.
FAQs
Request and Response validator for OpenAPI Specification 3.
We found that koa-oas3 demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Security News
License exceptions modify the terms of open source licenses, impacting how software can be used, modified, and distributed. Developers should be aware of the legal implications of these exceptions.
Security News
A developer is accusing Tencent of violating the GPL by modifying a Python utility and changing its license to BSD, highlighting the importance of copyleft compliance.