From d2bd60e3ff2718ff276050585a9e6c8716054e19 Mon Sep 17 00:00:00 2001 From: Aykhan Shahsuvarov Date: Fri, 20 Dec 2024 01:21:26 +0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A8=20Add=20custom=20'WidthMaxEnforcer?= =?UTF-8?q?'=20to=20the=20table=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/config.go | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/config/config.go b/config/config.go index 9015f8a..1a87700 100644 --- a/config/config.go +++ b/config/config.go @@ -1,9 +1,9 @@ package config import ( - "fmt" "net/url" "os" + "strings" "time" . "github.com/aykhans/dodo/types" @@ -42,7 +42,18 @@ func (config *RequestConfig) Print() { t.SetOutputMirror(os.Stdout) t.SetStyle(table.StyleLight) t.SetColumnConfigs([]table.ColumnConfig{ - {Number: 2, WidthMax: 50}, + { + Number: 2, + WidthMaxEnforcer: func(col string, maxLen int) string { + lines := strings.Split(col, "\n") + for i, line := range lines { + if len(line) > maxLen { + lines[i] = line[:maxLen-3] + "..." + } + } + return strings.Join(lines, "\n") + }, + WidthMax: 50}, }) newHeaders := make(map[string][]string) @@ -56,23 +67,23 @@ func (config *RequestConfig) Print() { t.AppendSeparator() t.AppendRow(table.Row{"URL", config.URL}) t.AppendSeparator() - t.AppendRow(table.Row{"Timeout", fmt.Sprintf("%dms", config.Timeout/time.Millisecond)}) + t.AppendRow(table.Row{"Timeout", config.Timeout}) t.AppendSeparator() t.AppendRow(table.Row{"Dodos", config.DodosCount}) t.AppendSeparator() t.AppendRow(table.Row{"Requests", config.RequestCount}) t.AppendSeparator() - t.AppendRow(table.Row{"Params", utils.MarshalJSON(config.Params, 3)}) + t.AppendRow(table.Row{"Params", string(utils.PrettyJSONMarshal(config.Params, 3, "", " "))}) t.AppendSeparator() - t.AppendRow(table.Row{"Headers", utils.MarshalJSON(newHeaders, 3)}) + t.AppendRow(table.Row{"Headers", string(utils.PrettyJSONMarshal(newHeaders, 3, "", " "))}) t.AppendSeparator() - t.AppendRow(table.Row{"Cookies", utils.MarshalJSON(config.Cookies, 3)}) + t.AppendRow(table.Row{"Cookies", string(utils.PrettyJSONMarshal(config.Cookies, 3, "", " "))}) t.AppendSeparator() - t.AppendRow(table.Row{"Proxies Count", len(config.Proxies)}) + t.AppendRow(table.Row{"Proxies Count", string(utils.PrettyJSONMarshal(config.Proxies, 3, "", " "))}) t.AppendSeparator() t.AppendRow(table.Row{"Proxy Check", !config.NoProxyCheck}) t.AppendSeparator() - t.AppendRow(table.Row{"Body", utils.MarshalJSON(config.Body, 3)}) + t.AppendRow(table.Row{"Body", string(utils.PrettyJSONMarshal(config.Body, 3, "", " "))}) t.Render() }