/
devopsdemo.go
55 lines (47 loc) · 1.34 KB
/
devopsdemo.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package main
import (
"net/http"
"os"
"strings"
"log"
"html/template"
"github.com/karthick-raja/DevOpsPWS/pkg/devopsutil"
)
func validateFileHandler(w http.ResponseWriter, r *http.Request) {
devopsutil.Print(w, "=======================================================")
err := devopsutil.ValidateFile(w, r.FormValue("fileName"))
devopsutil.Print(w, "=======================================================")
if err != nil {
devopsutil.Print(w, err.Error())
} else {
devopsutil.Print(w, "File validation success")
}
}
func osCommandHandler(w http.ResponseWriter, r *http.Request) {
cmd := strings.Split(r.FormValue("cmd"), " ")
err := devopsutil.OScommand(w, cmd)
if err != nil {
devopsutil.Print(w, err.Error())
} else {
devopsutil.Print(w, "Command executed successfully")
}
}
func mainPageHandler(w http.ResponseWriter, r *http.Request) {
t, err := template.ParseFiles("./Templates/MainPage.html")
if err != nil {
devopsutil.Print(w, err.Error())
}
err = t.Execute(w, "")
if err != nil {
devopsutil.Print(w, err.Error())
}
}
func main() {
http.HandleFunc("/", mainPageHandler)
http.HandleFunc("/ValidateFile", validateFileHandler)
http.HandleFunc("/OsCommand", osCommandHandler)
err := http.ListenAndServe(":"+os.Getenv("PORT"), nil)
if err != nil {
log.Fatal("ListenAndServe:", err)
}
}