diff options
Diffstat (limited to 'internal/server/server.go')
| -rw-r--r-- | internal/server/server.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/internal/server/server.go b/internal/server/server.go new file mode 100644 index 0000000..5b6cb8e --- /dev/null +++ b/internal/server/server.go @@ -0,0 +1,30 @@ +package server + +import ( + "io" + "log" + + "net/http" +) + +type ServerConfig struct { + Name string +} + +type Server struct { + config *ServerConfig +} + +func NewServer(config *ServerConfig) Server { + return Server{config: config} +} + +func (server *Server) Serve(addr string) { + http.HandleFunc("GET /", func(w http.ResponseWriter, r *http.Request) { + io.WriteString(w, "Hello World!\n") + }) + + log.Default().Printf("Server \"%s\" listening at %s", server.config.Name, addr) + err := http.ListenAndServe(addr, nil) + log.Fatal(err) +} |
