diff --git a/api/handler/rpc/rpc.go b/api/handler/rpc/rpc.go index f4d23bc9..980333b5 100644 --- a/api/handler/rpc/rpc.go +++ b/api/handler/rpc/rpc.go @@ -100,8 +100,7 @@ func (h *rpcHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { return } - // only allow post when we have the router - if r.Method != "GET" && (h.opts.Router != nil && r.Method != "POST") { + if h.opts.Router == nil && r.Method != "GET" { writeError(w, r, errors.MethodNotAllowed("go.micro.api", "method not allowed")) return } @@ -123,7 +122,8 @@ func (h *rpcHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { if !ok { md = make(metadata.Metadata) } - + // fill contex with http headers + md["Host"] = r.Host // merge context with overwrite cx = metadata.MergeContext(cx, md, true) diff --git a/api/router/static/static.go b/api/router/static/static.go index f868e52d..0c659c31 100644 --- a/api/router/static/static.go +++ b/api/router/static/static.go @@ -264,7 +264,9 @@ func (r *staticRouter) endpoint(req *http.Request) (*endpoint, error) { for _, pathreg := range ep.pathregs { matches, err := pathreg.Match(path, "") if err != nil { - // TODO: log error + if logger.V(logger.DebugLevel, logger.DefaultLogger) { + logger.Debugf("api path not match %s != %v", path, pathreg) + } continue } pMatch = true @@ -290,7 +292,7 @@ func (r *staticRouter) endpoint(req *http.Request) (*endpoint, error) { } // no match - return nil, fmt.Errorf("endpoint not found for %v", req) + return nil, fmt.Errorf("endpoint not found for %v", req.URL) } func (r *staticRouter) Route(req *http.Request) (*api.Service, error) {