parent
08abc8b48f
commit
aacc5d2fc6
9
http.go
9
http.go
|
|
@ -26,6 +26,8 @@ func HTTP(port int, db DB) error {
|
||||||
foo := func(w http.ResponseWriter, r *http.Request) {
|
foo := func(w http.ResponseWriter, r *http.Request) {
|
||||||
if r.URL.Path == "/" {
|
if r.URL.Path == "/" {
|
||||||
httpGUI(w, r)
|
httpGUI(w, r)
|
||||||
|
} else if strings.HasPrefix(r.URL.Path, "/static/") {
|
||||||
|
httpStatic(w, r)
|
||||||
} else if strings.HasPrefix(r.URL.Path, "/api/questions") && strings.HasSuffix(r.URL.Path, "/answers") && r.Method == http.MethodPost {
|
} else if strings.HasPrefix(r.URL.Path, "/api/questions") && strings.HasSuffix(r.URL.Path, "/answers") && r.Method == http.MethodPost {
|
||||||
httpPostQuestionAnswers(w, r)
|
httpPostQuestionAnswers(w, r)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -105,6 +107,13 @@ func httpGUI(w http.ResponseWriter, r *http.Request) {
|
||||||
w.Write([]byte(body))
|
w.Write([]byte(body))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func httpStatic(w http.ResponseWriter, r *http.Request) {
|
||||||
|
p := strings.TrimPrefix(r.URL.Path, "/static/")
|
||||||
|
p = strings.ReplaceAll(p, "/..", "/")
|
||||||
|
p = path.Clean(p)
|
||||||
|
http.ServeFile(w, r, p)
|
||||||
|
}
|
||||||
|
|
||||||
func httpAssignments(ctx context.Context) (interface{}, error) {
|
func httpAssignments(ctx context.Context) (interface{}, error) {
|
||||||
db := extract(ctx).DB
|
db := extract(ctx).DB
|
||||||
user := extract(ctx).User
|
user := extract(ctx).User
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,13 @@
|
||||||
|
|
||||||
let clues = ""
|
let clues = ""
|
||||||
for (var i in todo[1].Clues) {
|
for (var i in todo[1].Clues) {
|
||||||
clues += `<details><summary>clue #${i}</summary>${todo[1].Clues[i]}</details>`
|
clues += `<details><summary>clue #${i}</summary>`
|
||||||
|
if (todo[1].Clues[i].startsWith("img:")) {
|
||||||
|
clues += `<img src="static/${todo[1].Clues[i].slice(4, 1000)}"/>`
|
||||||
|
} else {
|
||||||
|
clues += todo[1].Clues[i]
|
||||||
|
}
|
||||||
|
clues += `</details>`
|
||||||
}
|
}
|
||||||
form.children.clues.innerHTML = clues
|
form.children.clues.innerHTML = clues
|
||||||
form.children.clues.value = todo[1].Clues
|
form.children.clues.value = todo[1].Clues
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ knowledge:
|
||||||
- solution B
|
- solution B
|
||||||
clues:
|
clues:
|
||||||
- clue1 of 2
|
- clue1 of 2
|
||||||
- clue2 of 2
|
- img:testdata/tofugu.d/sa-hiragana-0.png
|
||||||
tags:
|
tags:
|
||||||
- ops
|
- ops
|
||||||
- data-platform
|
- data-platform
|
||||||
|
|
@ -52,5 +52,5 @@ users:
|
||||||
tags:
|
tags:
|
||||||
assignments:
|
assignments:
|
||||||
- ops
|
- ops
|
||||||
cadence: 5h0m0s
|
cadence: 5s
|
||||||
resolution: 1
|
resolution: 1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue