@har-sdk/oas
TypeScript icon, indicating that this package has built-in type declarations

2.9.1 • Public • Published

@har-sdk/oas

Maintainability Test Coverage Build Status NPM Downloads

Transform your Swagger/OAS spec files into a series of HAR request objects.

  • Automatically generates fake data for all parameters
  • Compatible with Swagger and OAS specifications
  • Simple and easy-to-use API

With this library, you can easily generate requests with fake data to test your API using AutoCannon or DevTools.

Setup

To install the library, run the following command:

$ npm i --save @har-sdk/oas

Usage

To covert your specification, use the oas2har function as follows:

import schema from './swagger.json' assert { type: 'json' };
import { oas2har } from '@har-sdk/oas';

const requests = await oas2har(schema);
console.log(requests);

YAML files can also be loaded using js-yaml, as shown below:

import { oas2har } from '@har-sdk/oas';
import { readFile } from 'node:fs/promises';
import yaml from 'js-yaml';

const content = yaml.load(await readFile('./swagger.yaml', 'utf-8'));
const requests = await oas2har(content);
console.log(requests);

If you have your specification hosted remotely, you can use a library like axios to fetch it and then convert it to a HAR. Here's an example:

import axios from 'axios';
import { oas2har } from '@har-sdk/oas';

const url = 'https://example.com/swagger.json';
const response = await axios.get(url);
const requests = await oas2har(response.data);
console.log(requests);

Some specifications may incorporate example values for parameters provided in vendor extension fields, to include such examples in output use the oas2har function as follows:

import schema from './swagger.json' assert { type: 'json' };
import { oas2har } from '@har-sdk/oas';

const requests = await oas2har(schema, { includeVendorExamples: true });
console.log(requests);

Notice the includeVendorExamples option affects Swagger specifications only.

License

Copyright © 2023 Bright Security.

This project is licensed under the MIT License - see the LICENSE file for details.

/@har-sdk/oas/

    Package Sidebar

    Install

    npm i @har-sdk/oas

    Weekly Downloads

    305

    Version

    2.9.1

    License

    MIT

    Unpacked Size

    263 kB

    Total Files

    186

    Last publish

    Collaborators

    • pmstss
    • derevnjuk