npm.io
37.0.0 • Published 3d ago

@readme/oas-to-har

Licence
ISC
Version
37.0.0
Deps
4
Size
314 kB
Vulns
0
Weekly
0

@readme/oas-to-har

Utility to transform an OAS operation into a HAR representation

npm Build

ReadMe Open Source

Installation

npm install --save @readme/oas-to-har

Usage

import Oas from 'oas';
import oasToHar from '@readme/oas-to-har';

import petstore from './petstore.json';

const spec = new Oas(petstore);
console.log(oasToHar(spec, spec.operation('/pets', 'post')));
{
  "log": {
    "entries": [
      {
        "request": {
          "cookies": [],
          "headers": [],
          "headersSize": 0,
          "queryString": [],
          "bodySize": 0,
          "method": "POST",
          "url": "http://petstore.swagger.io/v2/pets",
          "httpVersion": "HTTP/1.1"
        }
      }
    ]
  }
}
oasToHar(oas, operationSchema, values, auth, opts) => Object
  • oas {Oas}: Instance of our oas/tooling class.
  • operationSchema {Object|Operation}: Can either be an object with path and method properties (that exist in the supplied OAS), or an instance of our Operation class from oas/tooling - accessed through new Oas(spec).operation(path, method).
  • values {Object}: A object of payload data, with key-value data therein, that should be used to construct the request. Available data you can define here:
    • path
    • query
    • body
    • cookie
    • formData
    • header
    • server — If the supplied OAS has multiple severs or server variables you can use this to set which server and variables to use. Shape of it should be: { selected: Integer, variables: { ...key-values }}. selected should coorespond to index of the servers array in your OAS.
  • auth {Object}: Authentication information for the request.
  • opts.proxyUrl {Boolean}: Boolean to toggle if composed HAR objects should have their url be sent through our CORS-friendly proxy. Defaults to false.