mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2025-12-26 07:40:43 -05:00
40 lines
809 B
Go
40 lines
809 B
Go
package wrapper
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
"ocwrapper/common"
|
|
"ocwrapper/log"
|
|
"ocwrapper/opencloud/config"
|
|
"ocwrapper/wrapper/handlers"
|
|
)
|
|
|
|
func Start(port string) {
|
|
defer common.Wg.Done()
|
|
|
|
if port == "" {
|
|
port = config.Get("port")
|
|
}
|
|
|
|
httpServer := &http.Server{
|
|
Addr: ":" + port,
|
|
}
|
|
|
|
var mux = http.NewServeMux()
|
|
mux.HandleFunc("/", http.NotFound)
|
|
mux.HandleFunc("/config", handlers.SetEnvHandler)
|
|
mux.HandleFunc("/rollback", handlers.RollbackHandler)
|
|
mux.HandleFunc("/command", handlers.CommandHandler)
|
|
mux.HandleFunc("/stop", handlers.StopOpencloudHandler)
|
|
mux.HandleFunc("/start", handlers.StartOpencloudHandler)
|
|
|
|
httpServer.Handler = mux
|
|
|
|
log.Println(fmt.Sprintf("Starting ocwrapper on port %s...", port))
|
|
|
|
err := httpServer.ListenAndServe()
|
|
if err != nil {
|
|
log.Panic(err)
|
|
}
|
|
}
|