quickshare/server.go
hekk 61a1c93f0f !1 Merge back to master
Merge pull request !1 from dev branch
2018-05-27 21:32:55 +08:00

40 lines
1.2 KiB
Go

package main
import (
"fmt"
"log"
"net/http"
"time"
)
import (
"quickshare/server/apis"
"quickshare/server/libs/cfg"
)
func main() {
config := cfg.NewConfigFrom("config.json")
srvShare := apis.NewSrvShare(config)
// TODO: using httprouter instead
mux := http.NewServeMux()
mux.HandleFunc(config.PathLogin, srvShare.LoginHandler)
mux.HandleFunc(config.PathStartUpload, srvShare.StartUploadHandler)
mux.HandleFunc(config.PathUpload, srvShare.UploadHandler)
mux.HandleFunc(config.PathFinishUpload, srvShare.FinishUploadHandler)
mux.HandleFunc(config.PathDownload, srvShare.DownloadHandler)
mux.HandleFunc(config.PathFileInfo, srvShare.FileInfoHandler)
mux.HandleFunc(config.PathClient, srvShare.ClientHandler)
server := &http.Server{
Addr: fmt.Sprintf("%s:%d", config.HostName, config.Port),
Handler: mux,
MaxHeaderBytes: config.MaxHeaderBytes,
ReadTimeout: time.Duration(config.ReadTimeout) * time.Millisecond,
WriteTimeout: time.Duration(config.WriteTimeout) * time.Millisecond,
IdleTimeout: time.Duration(config.IdleTimeout) * time.Millisecond,
}
log.Printf("quickshare starts @ %s:%d", config.HostName, config.Port)
log.Fatal(server.ListenAndServe())
}