diff options
Diffstat (limited to 'plugin')
| -rw-r--r-- | plugin/plaintext/common_out.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/plugin/plaintext/common_out.go b/plugin/plaintext/common_out.go index ff4ab63b..cb38345d 100644 --- a/plugin/plaintext/common_out.go +++ b/plugin/plaintext/common_out.go @@ -25,6 +25,9 @@ type textOut struct { OutputDir string Want []string OnlyIPType lib.IPType + + AddPrefixInLine string + AddSuffixInLine string } func newTextOut(iType string, action lib.Action, data json.RawMessage) (lib.OutputConverter, error) { @@ -32,6 +35,9 @@ func newTextOut(iType string, action lib.Action, data json.RawMessage) (lib.Outp OutputDir string `json:"outputDir"` Want []string `json:"wantedList"` OnlyIPType lib.IPType `json:"onlyIPType"` + + AddPrefixInLine string `json:"addPrefixInLine"` + AddSuffixInLine string `json:"addSuffixInLine"` } if len(data) > 0 { @@ -60,6 +66,9 @@ func newTextOut(iType string, action lib.Action, data json.RawMessage) (lib.Outp OutputDir: tmp.OutputDir, Want: tmp.Want, OnlyIPType: tmp.OnlyIPType, + + AddPrefixInLine: tmp.AddPrefixInLine, + AddSuffixInLine: tmp.AddSuffixInLine, }, nil } @@ -101,7 +110,13 @@ func (t *textOut) marshalBytes(entry *lib.Entry) ([]byte, error) { func (t *textOut) marshalBytesForTextOut(buf *bytes.Buffer, entryCidr []string) error { for _, cidr := range entryCidr { + if t.AddPrefixInLine != "" { + buf.WriteString(t.AddPrefixInLine) + } buf.WriteString(cidr) + if t.AddSuffixInLine != "" { + buf.WriteString(t.AddSuffixInLine) + } buf.WriteString("\n") } return nil @@ -149,6 +164,9 @@ func (t *textOut) marshalBytesForSurgeRuleSetOut(buf *bytes.Buffer, entryCidr [] buf.WriteString("IP-CIDR6,") } buf.WriteString(cidr) + if t.AddSuffixInLine != "" { + buf.WriteString(t.AddSuffixInLine) + } buf.WriteString("\n") } |
