Merge pull request #48 from feross/public-onHttpRequest

onHttpRequest() as part of the public API
This commit is contained in:
Feross Aboukhadijeh 2014-12-13 14:12:26 -08:00
commit ed0dad4656
3 changed files with 31 additions and 2 deletions

View File

@ -0,0 +1,13 @@
{
"name": "bittorrent-tracker-example-express-embed",
"version": "0.0.0",
"description": "Example for embedding bittorrent-tracker server in express.js",
"scripts": {
"server": "./server.js"
},
"author": "Astro <astro@spaceboyz.net>",
"license": "MIT",
"dependencies": {
"express": "^4.10.5"
}
}

View File

@ -0,0 +1,16 @@
#!/usr/bin/env node
var Server = require('../..').Server
var express = require('express')
var app = express()
var server = new Server({
http: false, // we do our own
udp: false // not interested
})
var onHttpRequest = server.onHttpRequest.bind(server)
app.get('/announce', onHttpRequest)
app.get('/scrape', onHttpRequest)
app.listen(8080)

View File

@ -54,7 +54,7 @@ function Server (opts) {
// default to starting an http server unless the user explictly says no
if (opts.http !== false) {
self._httpServer = http.createServer()
self._httpServer.on('request', self._onHttpRequest.bind(self))
self._httpServer.on('request', self.onHttpRequest.bind(self))
self._httpServer.on('error', self._onError.bind(self))
self._httpServer.on('listening', onListening)
}
@ -123,7 +123,7 @@ Server.prototype.getSwarm = function (infoHash) {
return swarm
}
Server.prototype._onHttpRequest = function (req, res) {
Server.prototype.onHttpRequest = function (req, res) {
var self = this
var params