Awesome
More info on active projects and modules at dat-ecosystem.org <img src="https://i.imgur.com/qZWlO1y.jpg" width="30" height="30" />
Hyperdrive Http
Serve a hyperdrive archive over HTTP. For an example of use, see dat.haus.
Usage
Hyperdrive-http returns a function to call when you receive a http request:
var server = http.createServer().listen(8000)
server.on('request', hyperdriveHttp(archive))
Supports manifest options in dat.json
:
web_root
- change directory to serve on indexfallback_page
- fallback for 404 errors
Setup
To use hyperdrive-http you will need to:
- Create your own http server
- Setup your hyperdrive archive
- For remote archives, connect to the swarm
API
Hyperdrive works with many archives/feeds or a single archive.
Options
exposeHeaders
- If set totrue
, hyperdrive-http will add customHyperdrive-
HTTP headers to directory listing requests (default:false
):Hyperdrive-Key: de2a51bbaf8a5545eff82c999f15e1fd29637b3f16db94633cb6e2e0c324f833 Hyperdrive-Version: 4
live
- If set totrue
will reload a directly listing if the archive receives updates.footer
- Add a footer to your HTML page. Automatically adds archive version number to footer.
URL Format
Hyperdrive-http responds to any URL with a specific format. If the URL does cannot be parsed, it will return a 404.
- Get archive listing:
http://archive-example.com/
- Get file from archive:
http://archive-example.com/filename.pdf
If a directory in the archive contains an index.html
page that file is returned instead of the directory listing. If you'd like to view files use a query string:
- View files:
http://archive-example.com/?viewSource=true
CLI
There is also a CLI that can be used for demo + testing. Pass it a dat link or a path to an existing dat folder:
node cli.js <dat-key>
node cli.js /path/do/existing/dat