srv.go 831 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package server
  2. import (
  3. "fmt"
  4. "net/http"
  5. "git.linuxit.ro/turos.robert/mynotes/lib/inout"
  6. )
  7. func NewServer(filename string) *Server {
  8. srv := Server{}
  9. err := inout.FileToObj(filename, &srv)
  10. if err != nil {
  11. srv.Err = err
  12. }
  13. return &srv
  14. }
  15. func (s *Server) Run() {
  16. fmt.Println(s.Port, s.Host)
  17. // adding endpoints to the server
  18. http.HandleFunc("/", Wildcard)
  19. http.HandleFunc("/api/", func(w http.ResponseWriter, r *http.Request) {
  20. API(w, r, "notes")
  21. })
  22. http.HandleFunc("/notes/", func(w http.ResponseWriter, r *http.Request) {
  23. note := r.URL.Query().Get("note")
  24. Notes(w, r, note)
  25. })
  26. //running server
  27. fmt.Printf("Server running at http://%s:%s/\n", s.Host, s.Port)
  28. err := http.ListenAndServe(fmt.Sprintf("%s:%s", s.Host, s.Port), nil)
  29. if err != nil {
  30. fmt.Printf("Error starting server: %+v\n", err)
  31. }
  32. }