diff --git a/handler.go b/handler.go index cdda21e..a555f43 100644 --- a/handler.go +++ b/handler.go @@ -97,11 +97,6 @@ func (h *httpServer) ServeHTTP(w http.ResponseWriter, r *http.Request) { h.errorHandler(ctx, nil, w, r, fmt.Errorf("path must starts with /"), http.StatusBadRequest) return } - cf, err := h.newCodec(ct) - if err != nil { - h.errorHandler(ctx, nil, w, r, err, http.StatusBadRequest) - return - } matches := make(map[string]interface{}) @@ -166,6 +161,12 @@ func (h *httpServer) ServeHTTP(w http.ResponseWriter, r *http.Request) { } } + cf, err := h.newCodec(ct) + if err != nil { + h.errorHandler(ctx, nil, w, r, err, http.StatusBadRequest) + return + } + var argv, replyv reflect.Value // Decode the argument value.