From 37fe2268c9a56a9211bb3562c533f566504388c4 Mon Sep 17 00:00:00 2001 From: kekskurse Date: Fri, 13 Sep 2024 22:33:57 +0200 Subject: [PATCH] response file --- main.go | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index f6d3577..27c4b34 100644 --- a/main.go +++ b/main.go @@ -18,6 +18,7 @@ type routeConfig struct { Path string ResponseHTTPStatus int `yaml:"response_http_status"` ResponseBody string `yaml:"response_body"` + ResponseFile string `yaml:"response_file"` ResponseHeaders map[string]string `yaml:"response_header"` } @@ -35,9 +36,23 @@ func (ro routeConfig) httpHandler(w http.ResponseWriter, r *http.Request) { for v := range ro.ResponseHeaders { w.Header().Add(v, ro.ResponseHeaders[v]) } - _, err := w.Write([]byte(ro.ResponseBody)) - if err != nil { - log.Error().Err(err).Msg("cant write body to response writer") + if ro.ResponseBody != "" { + _, err := w.Write([]byte(ro.ResponseBody)) + if err != nil { + log.Error().Err(err).Msg("cant write body to response writer") + } + } + + if ro.ResponseFile != "" { + content, err := os.ReadFile(os.ResponseFile) + if err != nil { + log.Error().Err(err).Msg("cant read response file") + } + + _, err = w.Write(content) + if err != nil { + log.Error().Err(err).Msg("cant write body to response writer") + } } rde := requestData{