Przeglądaj źródła

Simplify response rendering code

Lu Stadler 7 lat temu
rodzic
commit
e1dedf66ff
1 zmienionych plików z 1 dodań i 48 usunięć
  1. 1 48
      go/fake-http/fake-http.go

+ 1 - 48
go/fake-http/fake-http.go

@ -6,7 +6,6 @@ import (
6 6
	"encoding/json"
7 7
	"flag"
8 8
	"fmt"
9
	"html/template"
10 9
	"io"
11 10
	"io/ioutil"
12 11
	"log"
@ -115,35 +114,10 @@ func main() {
115 114
		}
116 115
	})
117 116
118
	http.HandleFunc("/_stub", func(w http.ResponseWriter, req *http.Request) {
119
		switch req.Method {
120
		case "GET":
121
			err := stubTmpl.Execute(w, nil)
122
			if err != nil {
123
				log.Printf("Error: Rendering stub template: %s", err)
124
				return
125
			}
126
		case "POST":
127
			err := req.ParseForm()
128
			if err != nil {
129
				log.Printf("Error: Parsing form: %s", err)
130
				return
131
			}
132
			responses = append(responses, readResponse(req.Form))
133
		default:
134
			http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
135
		}
136
	})
137
138 117
	http.HandleFunc("/_stubs", func(w http.ResponseWriter, req *http.Request) {
139 118
		responses = loadResponses(responsesPath, false, responses)
140 119
141
		var err error
142
		if strings.Contains(req.Header.Get("Accept"), "application/yaml") {
143
			err = renderYAML(w, responses)
144
		} else {
145
			err = renderHTML(w, responses)
146
		}
120
		err := renderYAML(w, responses)
147 121
		if err != nil {
148 122
			log.Printf("Error: Rendering stubs: %s", err)
149 123
		}
@ -409,24 +383,3 @@ func loadResponsesRaw(path string) ([]Response, error) {
409 383
410 384
	return responses, nil
411 385
}
412
413
var stubTmpl = template.Must(template.New("").Parse(`<!doctype html>
414
<html>
415
	<head>
416
	</head>
417
418
	<body>
419
		<form method="POST" action="/_stub">
420
			<input type="text" name="method" placeholder="GET" />
421
			<input type="text" name="path" placeholder="/request/path?query" />
422
			<ul>
423
				<li>
424
					<input type="text" name="header" placeholder="Content-Type" />
425
					<input type="text" name="value" placeholder="application/json" />
426
				</li>
427
			</ul>
428
			<textarea name="body" placeholder="{}"></textarea>
429
			<input type="submit" />
430
		</form>
431
	</body>
432
</html>`))