browser-server

A HTTP "server" in the browser that uses a service worker to allow you to easily send back your own stream of data.

  • Owner: mafintosh/browser-server
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

browser-server

A HTTP "server" in the browser that uses a service worker to allow you to easily send back your own stream of data.

npm install browser-server

Usage

First generate the service worker, using the browser-server command line tool

npm install -g browser-server
# /demo is the prefix you want to intercept
browser-server /demo > worker.js

Then create a simple app and browserify it

var createServer = require('browser-server')
var server = createServer()

server.on('request', function (req, res) {
  console.log('intercepting request', req)
  res.end('hello world')
})

server.on('ready', function () {
  fetch('/demo/test.txt').then(function (r) {
    return r.text()
  }).then(function (txt) {
    console.log('fetch returned', txt)
  })
})

Then browserify this app

browserify app.js > bundle.js

And make a index.html page like this

<!DOCTYPE html>
<html>
<body>
<script src="bundle.js"></script>
</body>
</html>

Make sure the worker.js file is also stored in the same folder.

Now serve the folder using a http server, fx

npm install -g http-server
http-server .

Now if you open index.html you should see the server intercepting the request and returning hello world.

Works for all http apis, including video/audio tags!

License

MIT

Main metrics

Overview
Name With Ownermafintosh/browser-server
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 2)
Platform
License:MIT License
所有者活动
Created At2017-05-18 13:27:49
Pushed At2018-10-07 03:15:10
Last Commit At2017-05-22 13:01:50
Release Count4
Last Release Namev1.0.3 (Posted on 2017-05-22 13:01:50)
First Release Namev1.0.0 (Posted on 2017-05-18 15:28:59)
用户参与
Stargazers Count187
Watchers Count4
Fork Count11
Commits Count10
Has Issues Enabled
Issues Count5
Issue Open Count3
Pull Requests Count0
Pull Requests Open Count2
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private