api works

This commit is contained in:
Askill 2019-10-31 09:30:54 +01:00
parent 54eefca3e5
commit ee988f3157
3 changed files with 33 additions and 16 deletions

View File

@ -1,5 +1,21 @@
www.j.de {
www.jpmatz.de {
proxy link1:80 link/1
tls dfasfasfsafdsafsd
}
www.jpmatz.de {
proxy link1:80 link/1
tls dfasfasfsafdsafsd
}
www.jpmatz.de {
proxy link1:80 link/1
tls dfasfasfsafdsafsd
}
www.jpmatz.de {
proxy link1:80 link/1
tls dfasfasfsafdsafsd
}
www.jpmatz.de {
proxy link1:80 link/1
tls dfasfasfsafdsafsd
}

29
main.go
View File

@ -3,7 +3,8 @@ package main
import (
"bytes"
"encoding/json"
"exec"
"os/exec"
"fmt"
"io/ioutil"
"log"
@ -54,10 +55,10 @@ func load() {
func save() {
jsonString, _ := json.Marshal(sites)
ioutil.WriteFile(saveFile, jsonString, 0777)
saveCaddy()
}
func saveCaddy() {
//var caddyFileString = ""
tmpl, _ := template.New("Caddy").Parse(`
{{.Domain}} {
proxy {{.Source}} {{.Target}}
@ -65,43 +66,44 @@ func saveCaddy() {
}`)
buf := &bytes.Buffer{}
buf2 := &bytes.Buffer{}
for _, value := range sites {
tmpl.Execute(buf, value)
buf2.WriteString(buf.String())
}
fmt.Println("String: ", buf2.String())
fmt.Println("String: ", buf.String())
f, err := os.OpenFile(saveCaddyFile, os.O_CREATE|os.O_WRONLY, 0777)
if err != nil {
log.Fatal(err)
}
//clear file before writing
f.Truncate(0)
f.Seek(0, 0)
// do the actual work
f.WriteString(buf2.String())
f.WriteString(buf.String())
}
func startCaddy() {
cmd := exec.Command("nohup caddy -agree &")
stdout, err := cmd.Output()
if err != nil {
Println(err.Error())
fmt.Println(err.Error())
return
}
Print(string(stdout))
fmt.Print(string(stdout))
}
func restartCaddy() {
cmd := exec.Command("pkill -USR1 caddy")
stdout, err := cmd.Output()
if err != nil {
Println(err.Error())
fmt.Println(err.Error())
return
}
Print(string(stdout))
fmt.Print(string(stdout))
}
// site controllers
@ -124,9 +126,8 @@ func updateSite(w http.ResponseWriter, r *http.Request) {
delete(sites, id)
var site Site
_ = json.NewDecoder(r.Body).Decode(&site)
newID := getBiggest(sites) + 1
site.Id = newID
sites[newID] = site
fmt.Print(site)
sites[id] = site
json.NewEncoder(w).Encode(site)
save()
}

View File

@ -1 +1 @@
{"1":{"id":1,"title":"titrle 1","description":"dewsc1","domain":"www.j.de","source":"link1:80","target":"link/1","email":"dfasfasfsafdsafsd"}}
{"1":{"id":1,"title":"title 2","description":"desc 3452345235345","domain":"www.jpmatz.de","source":"link1:80","target":"link/1","email":"dfasfasfsafdsafsd"},"2":{"id":2,"title":"title 2","description":"desc 3452345235345","domain":"www.jpmatz.de","source":"link1:80","target":"link/1","email":"dfasfasfsafdsafsd"},"3":{"id":3,"title":"title 2","description":"desc 3452345235345","domain":"www.jpmatz.de","source":"link1:80","target":"link/1","email":"dfasfasfsafdsafsd"},"4":{"id":4,"title":"title 2","description":"desc 3452345235345","domain":"www.jpmatz.de","source":"link1:80","target":"link/1","email":"dfasfasfsafdsafsd"},"5":{"id":5,"title":"title 2","description":"desc 3452345235345","domain":"www.jpmatz.de","source":"link1:80","target":"link/1","email":"dfasfasfsafdsafsd"}}