http-signature
npmv1.4.0Reference implementation of Joyent's HTTP Signature scheme.
Adopt with care
http-signature is usable, with caveats. Last published 1029 days ago.
- AAdoption: grade A, Excellent.
19.4M downloads per week and 1 known dependents.
- DMaintenance: grade D, Poor — a real concern.
Last published 1029 days ago.
- BWeight: grade B, Good.
Pulls in 15 transitive packages, about 751 KB installed (at least — some of the tree is still being crawled).
- ASupply chain: grade A, Excellent.
No install scripts, 8 maintainers, and a contained dependency surface.
- ALicense: grade A, Excellent.
MIT — permissive, with no copyleft found in the dependency tree.
Grades are computed deterministically from registry metadata collected by PackageGraph — downloads, dependents, publish dates, the resolved dependency tree, maintainer count, and declared licenses. No third-party scores are used.
Install cost
What you actually take on by adding http-signature to a project.
Runtime packages this one declares itself.
Distinct packages in the full runtime tree, deduplicated the way a package manager would.
Unpacked size of this package plus its entire runtime tree.
Longest resolved dependency chain below this package.
Part of this dependency tree has not been crawled yet, so these figures are a lower bound rather than a final total.
Licenses in the dependency tree
Every license you inherit by installing http-signature, not just its own. Check this before a legal review, not after.
Compatibility
- Node.js
- node >=0.10
- Module format
- CommonJS only
- TypeScript
- No bundled types
- Install scripts
- None
Quick start
A usage example from the http-signature README.
var fs = require('fs');
var https = require('https');
var httpSignature = require('http-signature');
var key = fs.readFileSync('./key.pem', 'ascii');
var options = {
host: 'localhost',
port: 8443,
path: '/',
method: 'GET',
headers: {}
};
http-signature vs the alternatives
Packages solving a similar problem in the npm ecosystem, compared on the signals that drive an adoption decision.
| Package | Weekly downloads | Dependents | License | Last release |
|---|---|---|---|---|
| http-signaturethis page | 19.4M | 1 | MIT | 2 years ago |
| undici | 158.5M | 15 | MIT | 1 day ago |
| @mswjs/interceptors | 20.3M | 1 | MIT | 1 day ago |
| pac-proxy-agent | 0 | 1 | MIT | 1 day ago |
| https-proxy-agent | 225.1M | 10 | MIT | 1 day ago |
| node-fetch | 172.9M | 9 | MIT | 1 day ago |
Dependencies
Declared by http-signature v1.4.0. Runtime dependencies are installed with the package; dev dependencies are not.
Runtime (3)
Dev (2)
Used by
Popular packages that depend on http-signature.
Relationship graph
Dependencies (left) and dependents (right) of http-signature.
Frequently installed together
RFC9562 UUIDs
The ultimate javascript content-type utility.
Port of jQuery.extend for node.js and the browser
HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.
Like JSON.stringify, but doesn't blow up on circular refs.
Signs and prepares requests using AWS Signature Version 4
Caseless object set/get/has, very useful when working with HTTP headers.
AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.
OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module.
Extremely fast HTTP Archive (HAR) validator using JSON Schema
A library to create readable "multipart/form-data" streams. Can be used to submit forms and file uploads to other web applications.
A stream that emits multiple other streams one after another.
Release history
No releases in the last two years, typically about 86 days apart.
| Version | Published | Size | License |
|---|---|---|---|
| 1.4.0latest | 2 years ago | 38 KB | MIT |
| 1.3.6 | 4 years ago | 40 KB | MIT |
| 1.3.5 | 6 years ago | 40 KB | MIT |
| 1.3.4 | 6 years ago | 37 KB | MIT |
| 1.3.3 | 6 years ago | 36 KB | MIT |
| 1.3.2 | 6 years ago | 34 KB | MIT |
| 1.3.1 | 6 years ago | 34 KB | MIT |
| 1.3.0 | 6 years ago | 48 KB | MIT |
| 1.2.0 | 9 years ago | — | MIT |
| 1.1.1 | 10 years ago | — | MIT |
| 1.1.0 | 10 years ago | — | MIT |
| 1.0.2 | 11 years ago | — | MIT |
| 1.0.1 | 11 years ago | — | MIT |
| 1.0.0 | 11 years ago | — | MIT |
| 0.11.0 | 11 years ago | — | MIT |
Overview
http-signature is an npm package that reference implementation of Joyent's HTTP Signature scheme. It is extremely widely used, with about 19.4M downloads per week and 1 known dependents in the graph. The latest version is 1.4.0, released under the MIT license.
Who should use it
Teams working in the npm ecosystem who need reference implementation of Joyent's HTTP Signature scheme and value a battle-tested, widely-adopted solution.
When not to use it
Consider an alternative if you need to have first-class TypeScript types out of the box, or if a more actively-maintained option better fits your npm stack.
Pros
- Large, well-established user base (19.4M weekly downloads).
- Clear open-source license (MIT).
Cons
- No bundled TypeScript types (may require a separate @types package).
Auto-generated from collected registry metadata. No external claims are inferred.
Frequently asked questions
Should I use http-signature?
http-signature is usable, with caveats. Last published 1029 days ago.
How do I install http-signature?
Run `npm install http-signature` to add http-signature to your npm project.
How many dependencies does http-signature have?
http-signature declares 5 direct dependencies and pulls in 15 packages in total once its runtime tree is resolved totalling about 751 KB on disk.
What license is http-signature released under?
http-signature is distributed under the MIT license. Its dependency tree also includes: (AFL-2.1 OR BSD-3-Clause), BSD-3-Clause, MIT, Unlicense.
How popular is http-signature?
http-signature has approximately 19,387,922 downloads per week and 1 known dependent packages.
Is http-signature still maintained?
The most recent release of http-signature (v1.4.0) was published 2 years ago.
Does http-signature run install scripts?
No. http-signature does not define preinstall, install, or postinstall scripts, so installing it does not execute publisher-supplied code.