Browse Source

Move converting to response definitions onto the log

Lu Stadler 7 years ago
parent
commit
1687ac958d
1 changed files with 10 additions and 5 deletions
  1. 10 5
      go/fake-http/fake-http.go

+ 10 - 5
go/fake-http/fake-http.go

71
71
72
	http.HandleFunc("/_log", func(w http.ResponseWriter, req *http.Request) {
72
	http.HandleFunc("/_log", func(w http.ResponseWriter, req *http.Request) {
73
		if strings.Contains(req.Header.Get("Accept"), "application/yaml") {
73
		if strings.Contains(req.Header.Get("Accept"), "application/yaml") {
74
			rrs := make([]Response, len(requestLog))
75
			for i, log := range requestLog {
76
				rs[i] = log.AsResponse()
77
			}
78
			err := renderYAML(w, rs)
74
			errr := renderYAML(w, requestLog.AsResponses())
79
			if err != nil {
75
			if err != nil {
80
				log.Printf("Error: Render log: %s", err)
76
				log.Printf("Error: Render log: %s", err)
81
			}
77
			}
247
	*l = append(*l, e)
243
	*l = append(*l, e)
248
}
244
}
249
245
246
// AsResponses returns the log as a list of response definition.
247
func (l *Log) AsResponses() []Response {
248
	rs := make([]Response, len(*l))
249
	for i, log := range *l {
250
		rs[i] = log.AsResponse()
251
	}
252
	return rs
253
}
254
250
// LogEntry is a request/response pair for logging.
255
// LogEntry is a request/response pair for logging.
251
type LogEntry struct {
256
type LogEntry struct {
252
	request      *http.Request
257
	request      *http.Request