Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gangway

Package Overview
Dependencies
Maintainers
2
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gangway

A client-side API abstraction layer

  • 1.1.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
225
decreased by-0.88%
Maintainers
2
Weekly downloads
 
Created
Source

Gangway

A client-side API abstraction layer.

Gangway is our general purpose tool for working with APIs on the client-side. It is a thin layer on top of superagent with specific opinions related to how we work.

Circle CI

Usage

Gangway is a factory function that progressively layers configuration options for building an AJAX request with superagent.

The first step is invoke Gangway with some options:

var Gangway = require('gangway')

var API = Gangway({
  baseURL: 'http://example.com',
  headers: {
    'x-api-key': 'your-token-for-every-request'
  }
})

With default configuration options out of the way, let's add some specific routes.

API.route({
  users: {
    read: {
      method : 'GET',
      path   : '/users/{id?}' // ? indicates that the parameter is optional
    }
  }
})

API.users.read() will now perform a GET request to /users/{id}. The ? in the path option specifies that it is optional. This is useful when using the same route for index and show endpoints for resources.

For RESTful resources, adding routes this way can become tedious. Gangway provides another method for quickly building routes for RESTful resources:

// this is equivalent to creating a create, read, update, and destroy
// route. Options are folded into every route.
API.resource("comments", {})

From there, the Gangway instance is ready for use!

// this will send a request to GET http://example.com/users
API.users.read()

// this will send a request to GET http://example.com/users/10
API.users.read({ params: { id: '10' } })

// the same is true for routes added via API.resource
API.comments.read({ params: { id: '2' }})

Documentation

Documentation is a work in progress, however checkout the ./docs folder for guides and information about the API (as it is completed).

Available options

baseURL    : The base URL prepended to all requests
body       : The request body
method     : Request method (GET, POST, PUT, PATCH, DELETE, etc...)
beforeSend : Configure an instance of superagent before the request is sent
onResponse : Run before resolving a request to preprocessing data
onError    : Run before rejecting a request to preprocessing errors
params     : Populate bindings in paths and are sent as request bodies. Defaults to body.
path       : The path fragment of the endpoint, appended to baseURL
type       : Content type, defaults to JSON
query      : An object of query parameters. Gangway will automatically stringify this into the URL.

Code At Viget

Visit code.viget.com to see more projects from Viget.

FAQs

Package last updated on 07 Jan 2016

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc