UNPKG

@vercel/fetch

Version:

Opinionated `fetch` optimized for use inside microservices

43 lines 2.24 kB
{ "name": "@vercel/fetch", "version": "7.0.0", "description": "Opinionated `fetch` optimized for use inside microservices", "license": "MIT", "main": "index.js", "types": "index.d.ts", "files": [ "index.js", "index.d.ts" ], "repository": { "type": "git", "url": "https://github.com/vercel/fetch.git", "directory": "packages/fetch" }, "contributors": [ "Nathan Rajlich <nate@vercel.com>", "Ethan Arrowood <ethan.arrowood@vercel.com>" ], "dependencies": { "@types/async-retry": "^1.4.3", "@vercel/fetch-cached-dns": "^2.0.2", "@vercel/fetch-retry": "^5.0.3", "agentkeepalive": "^4.2.1", "debug": "^4.3.3" }, "peerDependencies": { "@types/node-fetch": "^2.6.1", "node-fetch": "^2.6.7" }, "devDependencies": { "@zeit/best": "0.7.3", "async-listen": "^1.2.0", "node-fetch": "^2.6.7", "raw-body": "^2.5.0" }, "scripts": { "test": "best --verbose", "lint": "cd ../.. && pnpm eslint packages/fetch/**/*.js" }, "readme": "# @vercel/fetch\n\n[![Build Status](https://github.com/vercel/fetch/workflows/CI/badge.svg)](https://github.com/vercel/fetch/actions?workflow=CI)\n\nOpinionated `fetch` optimized for use inside microservices. Bundles:\n\n- https://github.com/vercel/fetch/tree/main/packages/fetch-retry\n- https://github.com/vercel/fetch/tree/main/packages/fetch-cached-dns\n- https://github.com/node-modules/agentkeepalive\n\nIt automatically configures an `agent` via [agentkeepalive](https://github.com/node-modules/agentkeepalive),\nif not provided, with the following settings:\n\n| Name | Value |\n| ---------------------------- | ----- |\n| `maxSockets` | 200 |\n| `maxFreeSockets` | 20 |\n| `timeout` | 60000 |\n| `freeSocketKeepAliveTimeout` | 30000 |\n\n## How to use\n\nJavaScript\n\n```js\nconst fetch = require('@vercel/fetch')(require('some-fetch-implementation'));\n```\n\nTypeScript\n\n```typescript\nimport createFetch from '@vercel/fetch';\nimport * as fetch from 'some-fetch-implementation';\nconst fetch = createFetch(fetch);\n```\n\nIf no fetch implementation is supplied, it will attempt to use peerDep `node-fetch`.\n" }