Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

@studio/gateway

Package Overview
Dependencies
Maintainers
2
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@studio/gateway

JavaScript Studio Gateway

latest
npmnpm
Version
3.0.0
Version published
Maintainers
2
Created
Source

Studio Gateway

A custom Swagger server and compiler with AWS Lambda and mock integration, for local API Gateway testing.

Features

  • Request parameters, header & query mappings
  • Request body models
  • Request-/Response Velocity templates and JSON Path queries
  • Response mappings with regular expressions
  • Response headers
  • AWS Lambda integration
  • AWS Mock integration
  • Swagger $ref to external files - compiles to single AWS compatible file

Usage

Assuming a swagger.json file in the current directory:

const Gateway = require('@studio/gateway');
const Lambda = require('@studio/lambda');

const lambda = Lambda.create();
const gateway = Gateway.create();
gateway.on('lambda', lambda.invoke);
gateway.listen(1337);

API

  • gateway = Gateway.create([options]): Returns a new gateway server for the given options.
    • swagger_file: The swagger file to read. Defaults to swagger.json.
    • swagger_env: The dotenv config to read.
    • stage: The stage name to use. Defaults to "local".
    • stageVariables: The stage variables to use. Default to an empty object.
  • gateway.listen(port[, callback]): Bind the server to the given port.

Events

  • lambda(name, event, context, callback): When a Lambda integration should be invoked. See @studio/lambda for a custom Lambda execution environment.

Swagger command

This module ships with a swagger command to compile a swagger.json file with references to other files into a single AWS compatible file.

Use in npm scripts like this:

{
  "scripts": {
    "swagger:prod": "swagger -o target/swagger-prod.json"
  }
}

The swagger optionally loads the dotenv module and replaces environment ${variables}.

These options are supported:

  • -f, --file: Sets the name of the swagger file. Defaults to swagger.json.
  • -e, --env: Sets the path to a dotenv config file.
  • -o, --outfile: Defines the output file to write to. If not specified, the result is printed to standard out.

Note that all environment variables can be used. When using npm scripts as shown above, you can also do things like ${npm_package_version}.

FAQs

Package last updated on 17 Jan 2024

Did you know?

Socket

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.

Install

Related posts