Git Product home page Git Product logo

hyperdrive-http's Introduction

Hyperdrive Http

Serve a hyperdrive archive over HTTP. For an example of use, see dat.haus.

Travis

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 index
  • fallback_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 to true, hyperdrive-http will add custom Hyperdrive- HTTP headers to directory listing requests (default: false):
    Hyperdrive-Key: de2a51bbaf8a5545eff82c999f15e1fd29637b3f16db94633cb6e2e0c324f833
    Hyperdrive-Version: 4
  • live - If set to true 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

hyperdrive-http's People

Contributors

aschrijver avatar creationix avatar edsilv avatar greenkeeper[bot] avatar joehand avatar juliangruber avatar mafintosh avatar millette avatar rangermauve avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.