'Go Web Service - Undefined type has no field or method [duplicate]
I am trying to consolidate routing functionality within a web service. The package main has two files of concern, route.go and main.go.
Within route.go I am defining routing as follows:
package main
import (
"github.com/justinas/alice"
"net/http"
)
func (app *Application) Routes() http.Handler {
standardMiddleware := alice.New(app.logRequest)
mux := http.NewServeMux()
mux.HandleFunc("/ping", helpers.Ping)
return standardMiddleware.Then(mux)
}
Within main.go I am trying to execute the application as follows:
package main
import (
"flag"
"log"
"net/http"
"os"
)
type Application struct {
errorLog *log.Logger
}
func main() {
addr := flag.String("addr", ":8080", "HTTP Network Address")
flag.Parse()
errorLog := log.New(os.Stderr, "ERROR\t", log.Ldate|log.Ltime|log.Lshortfile)
app := &Application{
errorLog: errorLog,
}
srv := &http.Server{
Addr: *addr,
ErrorLog: errorLog,
Handler: app.Routes(),
}
err := srv.ListenAndServe()
errorLog.Fatal(err)
}
When I execute the program I get the following error: app.Routes undefined (type *Application has no field or method Routes)
I'm not sure why the method isn't registering correctly?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
