summaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/server.go30
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)
+}