diff options
| author | Shulhan <ms@kilabit.info> | 2023-11-16 22:59:22 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2023-11-16 22:59:22 +0700 |
| commit | 4c17c972104e2dc50dbee4138c992f620e7f10bd (patch) | |
| tree | 49b73e28694857fb490dccda035214f11f5047f0 | |
| parent | f2b71ae4bf9d264d5c6ea51edc2d402e462e2033 (diff) | |
| download | awwan-4c17c972104e2dc50dbee4138c992f620e7f10bd.tar.xz | |
all: refactoring, rename Request to ExecRequest
| -rw-r--r-- | awwan.go | 4 | ||||
| -rw-r--r-- | awwan_local_test.go | 16 | ||||
| -rw-r--r-- | awwan_play_test.go | 20 | ||||
| -rw-r--r-- | awwan_sudo_test.go | 8 | ||||
| -rw-r--r-- | cmd/awwan/main.go | 4 | ||||
| -rw-r--r-- | exec_request.go (renamed from request.go) | 18 | ||||
| -rw-r--r-- | http_response.go | 2 | ||||
| -rw-r--r-- | http_server.go | 4 | ||||
| -rw-r--r-- | session.go | 20 | ||||
| -rw-r--r-- | ssh_client.go | 2 | ||||
| -rw-r--r-- | sudo_test.go | 2 |
11 files changed, 50 insertions, 50 deletions
@@ -163,7 +163,7 @@ func (aww *Awwan) Encrypt(file string) (fileVault string, err error) { } // Local execute the script in the local machine using shell. -func (aww *Awwan) Local(req *Request) (err error) { +func (aww *Awwan) Local(req *ExecRequest) (err error) { var ( logp = `Local` sessionDir = filepath.Dir(req.scriptPath) @@ -224,7 +224,7 @@ out: } // Play execute the script in the remote machine using SSH. -func (aww *Awwan) Play(req *Request) (err error) { +func (aww *Awwan) Play(req *ExecRequest) (err error) { var ( logp = `Play` sessionDir = filepath.Dir(req.scriptPath) diff --git a/awwan_local_test.go b/awwan_local_test.go index 7d610a6..756469f 100644 --- a/awwan_local_test.go +++ b/awwan_local_test.go @@ -43,11 +43,11 @@ func TestAwwanLocal(t *testing.T) { aww.cryptoc.termrw = &mockrw var ( - req *Request + req *ExecRequest logw bytes.Buffer ) - req, err = NewRequest(CommandModeLocal, scriptFile, `1-`) + req, err = NewExecRequest(CommandModeLocal, scriptFile, `1-`) if err != nil { t.Fatal(err) } @@ -132,9 +132,9 @@ func TestAwwanLocal_Get(t *testing.T) { _ = os.Remove(c.fileDest) - var req *Request + var req *ExecRequest - req, err = NewRequest(CommandModeLocal, script, c.lineRange) + req, err = NewExecRequest(CommandModeLocal, script, c.lineRange) if err != nil { t.Fatal(err) } @@ -255,9 +255,9 @@ func TestAwwanLocal_Put(t *testing.T) { _ = os.Remove(c.fileDest) } - var req *Request + var req *ExecRequest - req, err = NewRequest(CommandModeLocal, script, c.lineRange) + req, err = NewExecRequest(CommandModeLocal, script, c.lineRange) if err != nil { t.Fatal(err) } @@ -353,13 +353,13 @@ func TestAwwanLocal_withEncryption(t *testing.T) { var ( c testCase logw bytes.Buffer - req *Request + req *ExecRequest ) for _, c = range cases { t.Logf(c.desc) - req, err = NewRequest(CommandModeLocal, c.script, c.lineRange) + req, err = NewExecRequest(CommandModeLocal, c.script, c.lineRange) if err != nil { t.Fatal(err) } diff --git a/awwan_play_test.go b/awwan_play_test.go index 0afd100..bba59fc 100644 --- a/awwan_play_test.go +++ b/awwan_play_test.go @@ -51,11 +51,11 @@ func TestAwwan_Play_withLocal(t *testing.T) { } var ( - req *Request + req *ExecRequest logw bytes.Buffer ) - req, err = NewRequest(CommandModePlay, scriptFile, `1-`) + req, err = NewExecRequest(CommandModePlay, scriptFile, `1-`) if err != nil { t.Fatal(err) } @@ -112,7 +112,7 @@ func TestAwwan_Play_Get(t *testing.T) { }} var ( - req *Request + req *ExecRequest c testCaseGetPut fi os.FileInfo gotContent []byte @@ -125,7 +125,7 @@ func TestAwwan_Play_Get(t *testing.T) { _ = os.Remove(c.fileDest) } - req, err = NewRequest(CommandModePlay, scriptFile, c.lineRange) + req, err = NewExecRequest(CommandModePlay, scriptFile, c.lineRange) if err != nil { t.Fatal(err) } @@ -199,7 +199,7 @@ func TestAwwan_Play_Put(t *testing.T) { }} var ( - req *Request + req *ExecRequest c testCaseGetPut fi os.FileInfo gotContent []byte @@ -212,7 +212,7 @@ func TestAwwan_Play_Put(t *testing.T) { _ = os.Remove(c.fileDest) } - req, err = NewRequest(CommandModePlay, scriptFile, c.lineRange) + req, err = NewExecRequest(CommandModePlay, scriptFile, c.lineRange) if err != nil { t.Fatal(err) } @@ -292,7 +292,7 @@ func TestAwwan_Play_SudoGet(t *testing.T) { var ( mockin = &mockStdin{} - req *Request + req *ExecRequest c testCaseGetPut fi os.FileInfo gotContent []byte @@ -305,7 +305,7 @@ func TestAwwan_Play_SudoGet(t *testing.T) { _ = os.Remove(c.fileDest) } - req, err = NewRequest(CommandModePlay, scriptFile, c.lineRange) + req, err = NewExecRequest(CommandModePlay, scriptFile, c.lineRange) if err != nil { t.Fatal(err) } @@ -385,7 +385,7 @@ func TestAwwan_Play_SudoPut(t *testing.T) { }} var ( - req *Request + req *ExecRequest c testCaseGetPut fi os.FileInfo gotContent []byte @@ -398,7 +398,7 @@ func TestAwwan_Play_SudoPut(t *testing.T) { _ = os.Remove(c.fileDest) } - req, err = NewRequest(CommandModePlay, scriptFile, c.lineRange) + req, err = NewExecRequest(CommandModePlay, scriptFile, c.lineRange) if err != nil { t.Fatal(err) } diff --git a/awwan_sudo_test.go b/awwan_sudo_test.go index d73fe09..cc7bcc3 100644 --- a/awwan_sudo_test.go +++ b/awwan_sudo_test.go @@ -87,7 +87,7 @@ func TestAwwan_Local_SudoGet(t *testing.T) { script = filepath.Join(baseDir, `get.aww`) mockin = &mockStdin{} - req *Request + req *ExecRequest c testCase gotContent []byte ) @@ -95,7 +95,7 @@ func TestAwwan_Local_SudoGet(t *testing.T) { for _, c = range cases { t.Log(c.desc) - req, err = NewRequest(CommandModeLocal, script, c.lineRange) + req, err = NewExecRequest(CommandModeLocal, script, c.lineRange) if err != nil { t.Fatal(err) } @@ -184,7 +184,7 @@ func TestAwwan_Local_SudoPut(t *testing.T) { mockTerm = mock.ReadWriter{} aww *Awwan - req *Request + req *ExecRequest c testCase gotContent []byte ) @@ -205,7 +205,7 @@ func TestAwwan_Local_SudoPut(t *testing.T) { _ = os.Remove(c.fileDest) } - req, err = NewRequest(CommandModeLocal, script, c.lineRange) + req, err = NewExecRequest(CommandModeLocal, script, c.lineRange) if err != nil { t.Fatal(err) } diff --git a/cmd/awwan/main.go b/cmd/awwan/main.go index ae6105c..41858cd 100644 --- a/cmd/awwan/main.go +++ b/cmd/awwan/main.go @@ -123,7 +123,7 @@ func main() { var ( cmdMode = strings.ToLower(flag.Arg(0)) - req *awwan.Request + req *awwan.ExecRequest baseDir string file string err error @@ -154,7 +154,7 @@ func main() { return case awwan.CommandModeLocal, awwan.CommandModePlay: - req, err = awwan.NewRequest(cmdMode, flag.Arg(1), flag.Arg(2)) + req, err = awwan.NewExecRequest(cmdMode, flag.Arg(1), flag.Arg(2)) case awwan.CommandModeServe: if flag.NArg() <= 1 { diff --git a/request.go b/exec_request.go index 4e252ce..dbacc65 100644 --- a/request.go +++ b/exec_request.go @@ -17,10 +17,10 @@ import ( // This is set as variable to make it easy overwriting it in testing. var defLogTimeFormat = time.RFC3339 -// Request for executing local or remote script. +// ExecRequest request for executing local or remote script. // Each request define the Mode of execution, Script file to be executed, // and the lineRange -- list of line numbers to be executed. -type Request struct { +type ExecRequest struct { // Each request may set the Reader where the command read the input. // The stdin will default to os.DevNull (default of [exec/Cmd]) if // its nil. @@ -43,10 +43,10 @@ type Request struct { lineRange lineRange } -// NewRequest create new Request and initialize stdout and stderr to os.Stdout -// and os.Stderr. -func NewRequest(mode, script, lineRange string) (req *Request, err error) { - req = &Request{ +// NewExecRequest create and initialize stdout and stderr to os.Stdout and +// os.Stderr. +func NewExecRequest(mode, script, lineRange string) (req *ExecRequest, err error) { + req = &ExecRequest{ Mode: mode, Script: script, LineRange: lineRange, @@ -63,7 +63,7 @@ func NewRequest(mode, script, lineRange string) (req *Request, err error) { } // close flush and release all resources. -func (req *Request) close() { +func (req *ExecRequest) close() { req.mlog.Flush() var err = req.flog.Sync() @@ -78,7 +78,7 @@ func (req *Request) close() { } // init initialize multi loggers to write all output. -func (req *Request) init() (err error) { +func (req *ExecRequest) init() (err error) { if req.mlog == nil { var ( namedStdout = mlog.NewNamedWriter(`stdout`, os.Stdout) @@ -112,7 +112,7 @@ func (req *Request) init() (err error) { } // registerLogWriter register a writer w to mlog output and error. -func (req *Request) registerLogWriter(name string, w io.Writer) { +func (req *ExecRequest) registerLogWriter(name string, w io.Writer) { var namedw = mlog.NewNamedWriter(name, w) req.mlog.RegisterErrorWriter(namedw) req.mlog.RegisterOutputWriter(namedw) diff --git a/http_response.go b/http_response.go index c983dce..c4f5988 100644 --- a/http_response.go +++ b/http_response.go @@ -5,7 +5,7 @@ package awwan // HttpResponse contains the output of command execution. type HttpResponse struct { - *Request + *ExecRequest Error string `json:"error"` Output []byte `json:"output"` } diff --git a/http_server.go b/http_server.go index 30dd52a..391110c 100644 --- a/http_server.go +++ b/http_server.go @@ -590,7 +590,7 @@ func (httpd *httpServer) awwanApiFsPut(epr *libhttp.EndpointRequest) (rawBody [] func (httpd *httpServer) awwanApiExecute(epr *libhttp.EndpointRequest) (resb []byte, err error) { var ( logp = "awwanApiExecute" - req = &Request{} + req = &ExecRequest{} res = &libhttp.EndpointResponse{} ) @@ -613,7 +613,7 @@ func (httpd *httpServer) awwanApiExecute(epr *libhttp.EndpointRequest) (resb []b var ( data = &HttpResponse{ - Request: req, + ExecRequest: req, } logw bytes.Buffer @@ -236,7 +236,7 @@ func (ses *Session) Put(stmt *Statement) (err error) { } // SudoCopy copy file in local system using sudo. -func (ses *Session) SudoCopy(req *Request, stmt *Statement) (err error) { +func (ses *Session) SudoCopy(req *ExecRequest, stmt *Statement) (err error) { var ( logp = `SudoCopy` src = stmt.args[0] @@ -307,7 +307,7 @@ func (ses *Session) SudoCopy(req *Request, stmt *Statement) (err error) { // SudoGet copy file from remote that can be accessed by root on remote, to // local. // If the owner and mode is set, it will also changes using sudo. -func (ses *Session) SudoGet(req *Request, stmt *Statement) (err error) { +func (ses *Session) SudoGet(req *ExecRequest, stmt *Statement) (err error) { var ( logp = `SudoGet` src = stmt.args[0] @@ -336,7 +336,7 @@ func (ses *Session) SudoGet(req *Request, stmt *Statement) (err error) { } // SudoPut copy file from local to remote using sudo. -func (ses *Session) SudoPut(req *Request, stmt *Statement) (err error) { +func (ses *Session) SudoPut(req *ExecRequest, stmt *Statement) (err error) { var ( logp = `SudoPut` src = stmt.args[0] @@ -385,7 +385,7 @@ func (ses *Session) SudoPut(req *Request, stmt *Statement) (err error) { // // The raw field must be used when generating Command to handle arguments // with quotes. -func ExecLocal(req *Request, stmt *Statement) (err error) { +func ExecLocal(req *ExecRequest, stmt *Statement) (err error) { if stmt.cmd == `sudo` { if req.stdin != nil { var raw = make([]byte, 0, len(stmt.raw)) @@ -410,7 +410,7 @@ func ExecLocal(req *Request, stmt *Statement) (err error) { // executeRequires run the "#require:" statements from line 0 until // the start argument in the local system. -func (ses *Session) executeRequires(req *Request, pos linePosition) (err error) { +func (ses *Session) executeRequires(req *ExecRequest, pos linePosition) (err error) { var ( stmt *Statement x int64 @@ -432,7 +432,7 @@ func (ses *Session) executeRequires(req *Request, pos linePosition) (err error) return nil } -func (ses *Session) executeScriptOnLocal(req *Request, pos linePosition) (err error) { +func (ses *Session) executeScriptOnLocal(req *ExecRequest, pos linePosition) (err error) { var max = int64(len(req.script.stmts)) if pos.start > max { return @@ -478,7 +478,7 @@ func (ses *Session) executeScriptOnLocal(req *Request, pos linePosition) (err er return nil } -func (ses *Session) executeScriptOnRemote(req *Request, pos linePosition) (err error) { +func (ses *Session) executeScriptOnRemote(req *ExecRequest, pos linePosition) (err error) { var max = int64(len(req.script.stmts)) if pos.start > max { return @@ -610,7 +610,7 @@ func (ses *Session) generatePaths() (err error) { return nil } -func (ses *Session) initSSHClient(req *Request, sshSection *config.Section) (err error) { +func (ses *Session) initSSHClient(req *ExecRequest, sshSection *config.Section) (err error) { var ( logp = "initSSHClient" lastIdentFile string @@ -752,7 +752,7 @@ func (ses *Session) loadRawEnv(content []byte) (err error) { // localSudoChmod change the file permission in local environment using // sudo. -func (ses *Session) localSudoChmod(req *Request, file string, mode fs.FileMode) (err error) { +func (ses *Session) localSudoChmod(req *ExecRequest, file string, mode fs.FileMode) (err error) { var ( fsmode = strconv.FormatUint(uint64(mode), 8) sudoChmod = &Statement{ @@ -770,7 +770,7 @@ func (ses *Session) localSudoChmod(req *Request, file string, mode fs.FileMode) } // localSudoChown change the file owner in local environment using sudo. -func (ses *Session) localSudoChown(req *Request, file, owner string) (err error) { +func (ses *Session) localSudoChown(req *ExecRequest, file, owner string) (err error) { var sudoChown = &Statement{ kind: statementKindDefault, cmd: `sudo`, diff --git a/ssh_client.go b/ssh_client.go index 1d20ae8..519a19c 100644 --- a/ssh_client.go +++ b/ssh_client.go @@ -34,7 +34,7 @@ type sshClient struct { // // Once connection established, the client create new temporary directory on // server at dirTmp for sudoGet or sudoPut operations. -func newSshClient(req *Request, section *config.Section, dirTmp string) (sshc *sshClient, err error) { +func newSshClient(req *ExecRequest, section *config.Section, dirTmp string) (sshc *sshClient, err error) { var logp = `newSshClient` req.mlog.Outf(`--- SSH connection: %s@%s:%s`, diff --git a/sudo_test.go b/sudo_test.go index dc3c359..b8700ff 100644 --- a/sudo_test.go +++ b/sudo_test.go @@ -24,7 +24,7 @@ func TestExecLocal_sudo(t *testing.T) { var ( mockin = &mockStdin{} mockout = &bytes.Buffer{} - req = &Request{ + req = &ExecRequest{ stdin: mockin, } err error |
