diff options
| author | Shulhan <ms@kilabit.info> | 2023-10-26 22:23:58 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2023-10-26 22:24:16 +0700 |
| commit | f2b0021604e898e78ad53100057fd7da0b2187a6 (patch) | |
| tree | 3aa3dd21cc38261b4a38c6056813d53235fecb48 /http_server.go | |
| parent | f2da8879166f60ec65671afaebc18b2c4dbb918a (diff) | |
| download | awwan-f2b0021604e898e78ad53100057fd7da0b2187a6.tar.xz | |
all: use "mlog.MultiLogger" to log Request output and error
By using "mlog.MultiLogger" every output or error can be written to
stdout/stderr and additional log writer that can collect both of them,
buffered and returned to the caller.
This changes simplify the HttpResponse to use only single output that
combine both stdout and stderr.
Diffstat (limited to 'http_server.go')
| -rw-r--r-- | http_server.go | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/http_server.go b/http_server.go index 1ede15b..13169ad 100644 --- a/http_server.go +++ b/http_server.go @@ -402,14 +402,11 @@ func (httpd *httpServer) awwanApiExecute(epr *libhttp.EndpointRequest) (resb []b req.Script = filepath.Join(httpd.memfsBase.Opts.Root, req.Script) req.lineRange = parseLineRange(req.LineRange) + req.init() - var ( - bufout bytes.Buffer - buferr bytes.Buffer - ) + var logw bytes.Buffer - req.stdout = &bufout - req.stderr = &buferr + req.registerLogWriter(`output`, &logw) if req.Mode == CommandModeLocal { err = httpd.aww.Local(req) @@ -423,8 +420,7 @@ func (httpd *httpServer) awwanApiExecute(epr *libhttp.EndpointRequest) (resb []b data = &HttpResponse{ Request: req, - Stdout: bufout.Bytes(), - Stderr: buferr.Bytes(), + Output: logw.Bytes(), } res.Code = http.StatusOK |
