
Product
Introducing Reports: An Extensible Reporting Framework for Socket Data
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.
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 changesetyarn installFor 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.
The npm package koa-oas3 receives a total of 3,280 weekly downloads. As such, koa-oas3 popularity was classified as popular.
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 1 open source maintainer 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.

Product
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.