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

agent

Package Overview
Dependencies
Maintainers
2
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

agent

client-side request module

  • 0.2.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
144
decreased by-20.44%
Maintainers
2
Weekly downloads
 
Created
Source

Agent

Agent is a client-side request module inspired by SuperAgent.

API

The request object

var agent = require('agent')
var request = agent()

Agent can be used by composing methods:

request.method('GET').url('./file').data({x: y}).send(function(error, response) {
  //...
})

These methods also act as getters when no parameter is supplied.

Agent can also be used by passing arguments:

var request = agent('GET', './file', {x: y}, function(error, response) {
 //...
})

// defaults to POST
var request = agent('./file', {x: y}, function(error, response) {
 //...
})

// defaults to POST, no data
var request = agent('./file', function(error, response) {
 //...
})

You can also mix and match:

var request = agent('./file')

request.send(function(error, response) {
  request.data({x: y}).send(function(error, response) {

  })
})

Other methods:

request.header(name, value) // set request header
request.header(name) // get request header
request.header() // get all request header

request.running() // bool
request.abort() // duh
request.user(userName)
request.password("password") // don't use "password" as your password

Encoders, decoders

Agent encodes data you send and decodes data it receives based on content-type.

By default, it encodes and decodes application/x-www-form-urlencoded and application/json (however an application/x-www-form-urlencoded response is not common).

You can add a new response body decoder by doing:

agent.decoder('application/javascript', function(text) {
  return new Function(text); // hemmm
});

request.send(function(error, response) {
  // response.body is a function if the content-type
  // of the response is `application/javascript`
})

Or an encoder for data you send:

// This is already in Agent, this is an example
agent.encoder('application/json', JSON.stringify);

request.header('content-type', 'application/json')
// the request will be sent with JSON rather than url encoded.
request.data({a: 1, b: 2}).send(function(...) {

})

The response object

The response obejct you get back when requesting contains a few useful properties:

response.text // response text
response.body // parsed response text based on the content-type header field
response.status // response status
response.header // response header, as an object

// and some added sugar, courtesy of SuperAgent

response.info
response.ok
response.clientError
response.serverError
response.error
response.accepted
response.noContent
response.badRequest
response.unauthorized
response.notAcceptable
response.notFound

Test

Simply run

npm test

And fire up a browser on http://localhost:9090

FAQs

Package last updated on 22 Jul 2014

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