aboutsummaryrefslogtreecommitdiff
path: root/http_server.go
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2023-10-26 22:23:58 +0700
committerShulhan <ms@kilabit.info>2023-10-26 22:24:16 +0700
commitf2b0021604e898e78ad53100057fd7da0b2187a6 (patch)
tree3aa3dd21cc38261b4a38c6056813d53235fecb48 /http_server.go
parentf2da8879166f60ec65671afaebc18b2c4dbb918a (diff)
downloadawwan-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.go12
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