
Product
Introducing Pull Request Stories to Help Security Teams Track Supply Chain Risks
Socket’s new Pull Request Stories give security teams clear visibility into dependency risks and outcomes across scanned pull requests.
Inject dynamic resources into your html pages
npm install deposit --save
var fs = require('fs');
var http = require('http');
var deposit = require('deposit');
var d = deposit();
// Set up injectors
d.injector('fetch', require('deposit-fetch'));
d.injector('env', function (options, done) {
// Do stuff
done();
});
http.createServer(function (req, res) {
fs.createReadStream('/path/to/some/file.html')
.pipe(d)
.pipe(res);
}).listen(3000);
Sample HTML file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- inject:env -->
<script>window.__env = {};</script>
<!-- endinject -->
</head>
<body>
<!-- inject:fetch url=http://some.site.com/page timeout=5 assign=bob -->
<h1>Default Content</h1>
<p>This is what it looks like if the data doesn’t get fetched (or gets fetched with an error).</p>
<!-- endinject -->
</body>
</html>
options
name
- The name of the inejctor. This is the name you will use in your html document. Only slug-valid names are allowed (i.e. fetch
, custom-injector
, etc).Parse and inject a file. By default, the function returns a stream. You may also provide a callback and it will be called and return the parsed file contents. This method also has a streaming interface.
filepath
- The path to the file to parse and inject.Parse the given html file and return an object representation of the parseable blocks. This method also has a streaming interface.
filepath
- The path to the file to parse and inject.Injectors are used to put dynamic content into the html as static content. Injectors are basically plugins that exports a function:
module.exports = function (options, done) {
});
The injector function recieves 2 parameters:
options
- This is an object map of the options in the commented markup. If the html had <!-- inject:fetch url=http://some.site.com/page timeout=5 assign=bob -->
, the options would be
url: http://some.site.com/page
timeout: 5
assign: bob
done
- This callback gets called with these values - done(err, content)
. The content will be injected and replace the commented markupnpm install
npm test
FAQs
Inject dynamic resources into your html pages
The npm package deposit receives a total of 4 weekly downloads. As such, deposit popularity was classified as not popular.
We found that deposit demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Product
Socket’s new Pull Request Stories give security teams clear visibility into dependency risks and outcomes across scanned pull requests.
Research
/Security News
npm author Qix’s account was compromised, with malicious versions of popular packages like chalk-template, color-convert, and strip-ansi published.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.