| 123456789101112131415161718192021222324252627282930313233343536373839 |
- package server
- import (
- "fmt"
- "net/http"
- "git.linuxit.ro/turos.robert/mynotes/lib/inout"
- )
- func NewServer(filename string) *Server {
- srv := Server{}
- err := inout.FileToObj(filename, &srv)
- if err != nil {
- srv.Err = err
- }
- return &srv
- }
- func Ceva(s *Server) http.HandlerFunc {
- return func(w http.ResponseWriter, r *http.Request) {
- //s.Err = fmt.Errorf("bla")
- s_json := inout.ObjToJson(s)
- w.Write([]byte(s_json))
- }
- }
- func (s *Server) Run() {
- // adding endpoints to the server
- http.HandleFunc("/", Wildcard)
- http.Handle("/ceva", Ceva(s))
- //running server
- fmt.Printf("Server running at http://%s:%s/\n", s.Host, s.Port)
- err := http.ListenAndServe(fmt.Sprintf("%s:%s", s.Host, s.Port), nil)
- if err != nil {
- fmt.Printf("Error starting server: %+v\n", err)
- }
- }
|