make-fetch-happen
Advanced tools
Comparing version 1.0.1 to 1.1.0
@@ -5,2 +5,12 @@ # Change Log | ||
<a name="1.1.0"></a> | ||
# [1.1.0](https://github.com/zkat/make-fetch-happen/compare/v1.0.1...v1.1.0) (2017-04-01) | ||
### Features | ||
* **opts:** fetch.defaults() for default options ([522a65e](https://github.com/zkat/make-fetch-happen/commit/522a65e)) | ||
<a name="1.0.1"></a> | ||
@@ -7,0 +17,0 @@ ## [1.0.1](https://github.com/zkat/make-fetch-happen/compare/v1.0.0...v1.0.1) (2017-04-01) |
26
index.js
@@ -15,2 +15,28 @@ 'use strict' | ||
module.exports = cachingFetch | ||
cachingFetch.defaults = function (_uri, _opts) { | ||
const fetch = this | ||
if (typeof _uri === 'object') { | ||
_opts = _uri | ||
_uri = null | ||
} | ||
function defaultedFetch (uri, opts) { | ||
let finalOpts | ||
if (opts && _opts) { | ||
finalOpts = {} | ||
// TODO - merge headers | ||
Object.keys(_opts).forEach(k => { finalOpts[k] = _opts[k] }) | ||
Object.keys(opts).forEach(k => { finalOpts[k] = opts[k] }) | ||
} else if (opts) { | ||
finalOpts = opts | ||
} else if (_opts) { | ||
finalOpts = _opts | ||
} else { | ||
finalOpts = {} | ||
} | ||
return fetch(uri || _uri, finalOpts) | ||
} | ||
defaultedFetch.defaults = fetch.defaults | ||
return defaultedFetch | ||
} | ||
function cachingFetch (uri, _opts) { | ||
@@ -17,0 +43,0 @@ const opts = {} |
{ | ||
"name": "make-fetch-happen", | ||
"version": "1.0.1", | ||
"version": "1.1.0", | ||
"description": "Opinionated, caching, retrying fetch client", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -17,2 +17,3 @@ # make-fetch-happen [![npm version](https://img.shields.io/npm/v/make-fetch-happen.svg)](https://npm.im/make-fetch-happen) [![license](https://img.shields.io/npm/l/make-fetch-happen.svg)](https://npm.im/make-fetch-happen) [![Travis](https://img.shields.io/travis/zkat/make-fetch-happen.svg)](https://travis-ci.org/zkat/make-fetch-happen) [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/zkat/make-fetch-happen?svg=true)](https://ci.appveyor.com/project/zkat/make-fetch-happen) [![Coverage Status](https://coveralls.io/repos/github/zkat/make-fetch-happen/badge.svg?branch=latest)](https://coveralls.io/github/zkat/make-fetch-happen?branch=latest) | ||
* [`fetch`](#fetch) | ||
* [`fetch.defaults`](#fetch-defaults) | ||
* [`node-fetch` options](#node-fetch-options) | ||
@@ -80,2 +81,18 @@ * [`make-fetch-happen` options](#extra-options) | ||
#### <a name="fetch-defaults"></a> `> fetch.defaults([defaultUrl], [defaultOpts])` | ||
Returns a new `fetch` function that will call `make-fetch-happen` using `defaultUrl` and `defaultOpts` as default values to any calls. | ||
A defaulted `fetch` will also have a `.defaults()` method, so they can be chained. | ||
##### Example | ||
```javascript | ||
const fetch = require('make-fetch-happen').defaults({ | ||
cacheManager: './my-local-cache' | ||
}) | ||
fetch('https://registry.npmjs.org/make-fetch-happen') // will always use the cache | ||
``` | ||
#### <a name="node-fetch-options"></a> `> node-fetch options` | ||
@@ -82,0 +99,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
34910
521
301
11