FILE / ScuroNeko/mtg

ipblocklist/files/mem.go

Исходный файл и его история в репозитории.
FILE a27facaa1643c14b1416e75be1b4058bbfc2e5ce
Files
mtg/ipblocklist/files/mem.go
T

38 lines
583 B
Go

package files
import (
"context"
"io"
"net"
"strings"
)
type memFile struct {
data string
}
func (m memFile) Open(ctx context.Context) (io.ReadCloser, error) {
return io.NopCloser(strings.NewReader(m.data)), nil
}
func (m memFile) String() string {
return "mem"
}
func NewMem(networks []*net.IPNet) File {
builder := strings.Builder{}
if len(networks) > 0 {
builder.WriteString(networks[0].String())
}
for i := 1; i < len(networks); i++ {
builder.WriteString("\n")
builder.WriteString(networks[i].String())
}
return memFile{
data: builder.String(),
}
}