2.1.0 • Published 8 years ago

nodemailer-fetch v2.1.0

Weekly downloads
325,869
License
MIT
Repository
github
Last release
8 years ago

nodemailer-fetch

Fetches HTTP URL contents for nodemailer.

Build Status

Usage

var fetch = require('nodemailer-fetch');
fetch('http://www.google.com/').pipe(process.stdout);

The method takes the destination URL as the first and optional options object as the second argument.

The defaults are the following:

  • Default method is GET
  • Basic auth is supported
  • Up to 5 redirects are followed (Basic auth gets lost after first redirect)
  • gzip is handled if present
  • Cookies are supported
  • No shared HTTP Agent
  • Invalid SSL certs are allowed. Can be overwritten with the tls option

options

Possible options are the following:

  • userAgent a string defining the User Agent of the request (by default not set)
  • cookie a cookie string or an array of cookie strings where a cookie is the value used by 'Set-Cookie' header
  • maxRedirects how many redirects to allow (defaults to 5, set to 0 to disable redirects entirely)
  • method HTTP method to use, defaults to GET (if body is set defaults to POST)
  • body HTTP payload to send. If the value is an object it is converted to an x-www-form-urlencoded payload, other values are passed as is. Unlike authentication data payload and method is preserved between redirects
  • contentType optional content type for the HTTP payload. Defaults to x-www-form-urlencoded. If the value is false then Content-Type header is not set
  • tls optional object of TLS options
  • timeout (milliseconds) sets timeout for the connection. Returns an error if timeout occurs
  • headers custom headers as an object where key is the header key and value is either a string or an array of strings for multiple values
  • allowErrorResponse of true then processes response even if the response code is non 2xx

    var fetch = require('nodemailer-fetch');
    fetch('http://www.google.com/', {
        cookie: [
            'cookie_name1=cookie_value1',
            'cookie_name2=cookie_value2; expires=Sun, 16 Jul 3567 06:23:41 GMT',
        ],
        userAgent: 'MyFetcher/1.0'
    }).pipe(process.stdout);

Cookies are domain specific like normal browser cookies, so if a redirect happens to another domain, then cookies are not passed to it, HTTPS-only cookies are not passed to HTTP etc.

License

MIT