Abstract the status HTTP server into package util
This commit is contained in:
parent
6158b1f6ec
commit
7cc22565ed
@ -2,6 +2,7 @@ package main
|
||||
|
||||
import (
|
||||
"bitbucket.org/anacrolix/go.torrent/dht"
|
||||
"bitbucket.org/anacrolix/go.torrent/util"
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
@ -41,22 +42,7 @@ func makeListener() net.Listener {
|
||||
|
||||
func main() {
|
||||
if *httpAddr != "" {
|
||||
addr, err := net.ResolveTCPAddr("tcp", *httpAddr)
|
||||
if err != nil {
|
||||
log.Fatalf("error resolving http addr: %s", err)
|
||||
}
|
||||
conn, err := net.ListenTCP("tcp", addr)
|
||||
if err != nil {
|
||||
log.Fatalf("error creating http conn: %s", err)
|
||||
}
|
||||
log.Printf("starting http server on http://%s", conn.Addr())
|
||||
go func() {
|
||||
defer conn.Close()
|
||||
err = (&http.Server{}).Serve(conn)
|
||||
if err != nil {
|
||||
log.Fatalf("error serving http: %s", err)
|
||||
}
|
||||
}()
|
||||
util.LoggedHTTPServe(*httpAddr)
|
||||
}
|
||||
dhtServer := &dht.Server{
|
||||
Socket: func() *net.UDPConn {
|
||||
|
@ -27,7 +27,7 @@ var (
|
||||
mountDir string
|
||||
disableTrackers = flag.Bool("disableTrackers", false, "disables trackers")
|
||||
testPeer = flag.String("testPeer", "", "the address for a test peer")
|
||||
httpAddr = flag.String("httpAddr", "", "HTTP server bind address")
|
||||
httpAddr = flag.String("httpAddr", "localhost:0", "HTTP server bind address")
|
||||
readaheadBytes = flag.Int("readaheadBytes", 10*1024*1024, "bytes to readahead in each torrent from the last read piece")
|
||||
testPeerAddr *net.TCPAddr
|
||||
)
|
||||
@ -94,7 +94,7 @@ func main() {
|
||||
}
|
||||
log.SetFlags(log.LstdFlags | log.Lshortfile)
|
||||
if *httpAddr != "" {
|
||||
go http.ListenAndServe(*httpAddr, nil)
|
||||
util.LoggedHTTPServe(*httpAddr)
|
||||
}
|
||||
conn, err := fuse.Mount(mountDir)
|
||||
if err != nil {
|
||||
|
26
util/loghttp.go
Normal file
26
util/loghttp.go
Normal file
@ -0,0 +1,26 @@
|
||||
package util
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func LoggedHTTPServe(addr string) {
|
||||
netAddr, err := net.ResolveTCPAddr("tcp", addr)
|
||||
if err != nil {
|
||||
log.Fatalf("error resolving http addr: %s", err)
|
||||
}
|
||||
conn, err := net.ListenTCP("tcp", netAddr)
|
||||
if err != nil {
|
||||
log.Fatalf("error creating http conn: %s", err)
|
||||
}
|
||||
log.Printf("starting http server on http://%s", conn.Addr())
|
||||
go func() {
|
||||
defer conn.Close()
|
||||
err = (&http.Server{}).Serve(conn)
|
||||
if err != nil {
|
||||
log.Fatalf("error serving http: %s", err)
|
||||
}
|
||||
}()
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user