From 9788ed53377235a3cf564fc9fa1e65c31b3276db Mon Sep 17 00:00:00 2001 From: zelig Date: Wed, 27 May 2015 10:20:35 +0100 Subject: [PATCH] SwarmProxyPortFlag back in utils/flags.go eth Config; fix httpaccess uri slash trimming --- bzz/api.go | 2 +- bzz/httpaccess.go | 12 +++++++----- cmd/utils/flags.go | 1 + 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/bzz/api.go b/bzz/api.go index d279ad2c6b..550743b349 100644 --- a/bzz/api.go +++ b/bzz/api.go @@ -89,7 +89,7 @@ func (self *Api) resolveHost(hostport string) (contentHash Key, errR errResolve) var host, port string var err error host, port, err = net.SplitHostPort(hostport) - if err != nil { + if err != nil && err.Error() != "missing port in address "+hostport { errR = errResolve(fmt.Errorf("invalid host '%s': %v", hostport, err)) return } diff --git a/bzz/httpaccess.go b/bzz/httpaccess.go index 8ffa11c7b3..701e8d5797 100644 --- a/bzz/httpaccess.go +++ b/bzz/httpaccess.go @@ -37,14 +37,16 @@ func startHttpServer(api *Api, port string) { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { handler(w, r, api) }) - go http.ListenAndServe(port, nil) - dpaLogger.Infof("Swarm HTTP proxy started.") + go http.ListenAndServe(":"+port, nil) + dpaLogger.Infof("Swarm HTTP proxy started on localhost:%s", port) } func handler(w http.ResponseWriter, r *http.Request, api *Api) { + dpaLogger.Debugf("request URL: '%s' Host: '%s', Path: '%s'", r.RequestURI, r.URL.Host, r.URL.Path) switch { case r.Method == "POST": + dpaLogger.Debugf("request URL Host: '%s', Path: '%s'", r.URL.Host, r.URL.Path) if r.URL.Path == "/raw" { dpaLogger.Debugf("Swarm: POST request received.") key, err := api.dpa.Store(io.NewSectionReader(&sequentialReader{ @@ -53,7 +55,7 @@ func handler(w http.ResponseWriter, r *http.Request, api *Api) { }, 0, r.ContentLength), nil) if err == nil { fmt.Fprintf(w, "%064x", key) - dpaLogger.Debugf("Swarm: Object %064x stored", key) + dpaLogger.Debugf("Swarm: Content for '%064x' stored", key) } else { http.Error(w, err.Error(), http.StatusBadRequest) return @@ -72,7 +74,7 @@ func handler(w http.ResponseWriter, r *http.Request, api *Api) { // resolving host name := uri[5:] - key, err := api.resolveHost(uri) + key, err := api.resolveHost(name) if err != nil { dpaLogger.Debugf("Swarm: %v", err) http.Error(w, err.Error(), http.StatusBadRequest) @@ -100,7 +102,7 @@ func handler(w http.ResponseWriter, r *http.Request, api *Api) { dpaLogger.Debugf("Swarm: Structured GET request '%s' received.", uri) // call to api.getPath on uri - reader, mimeType, status, err := api.getPath(uri) + reader, mimeType, status, err := api.getPath(uri[1:]) if err != nil { var status int if _, ok := err.(errResolve); ok { diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 219255400d..290487a5ee 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -329,6 +329,7 @@ func MakeEthConfig(clientID, version string, ctx *cli.Context) *eth.Config { NodeKey: GetNodeKey(ctx), Shh: ctx.GlobalBool(WhisperEnabledFlag.Name), Bzz: ctx.GlobalBool(SwarmEnabledFlag.Name), + BzzPort: ctx.GlobalString(SwarmProxyPortFlag.Name), Dial: true, BootNodes: ctx.GlobalString(BootnodesFlag.Name), GasPrice: common.String2Big(ctx.GlobalString(GasPriceFlag.Name)),