Documentation
¶
Index ¶
- Variables
- func RegisterReaderCommonName(name string, fn func(string) (Reader, error))
- func RegisterReaderExt(ext string, fn func(string) (Reader, error))
- func RegisterReaderFormat(name string, fn func(string) (Reader, error))
- func RegisterWriterExt(ext string, fn func(meta *model.Meta) (Writer, error))
- func RegisterWriterFormat(name string, fn func(meta *model.Meta) (Writer, error))
- type Reader
- type Writer
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ReaderFormats = map[string]func(string) (Reader, error){ awdb.DBFormat: func(file string) (Reader, error) { return awdb.NewReader(file) }, ip2region.DBFormat: func(file string) (Reader, error) { return ip2region.NewReader(file) }, ipdb.DBFormat: func(file string) (Reader, error) { return ipdb.NewReader(file) }, mmdb.DBFormat: func(file string) (Reader, error) { return mmdb.NewReader(file) }, plain.DBFormat: func(file string) (Reader, error) { return plain.NewReader(file) }, qqwry.DBFormat: func(file string) (Reader, error) { return qqwry.NewReader(file) }, zxinc.DBFormat: func(file string) (Reader, error) { return zxinc.NewReader(file) }, } ReaderExts = map[string]func(string) (Reader, error){ awdb.DBExt: func(file string) (Reader, error) { return awdb.NewReader(file) }, ip2region.DBExt: func(file string) (Reader, error) { return ip2region.NewReader(file) }, ipdb.DBExt: func(file string) (Reader, error) { return ipdb.NewReader(file) }, mmdb.DBExt: func(file string) (Reader, error) { return mmdb.NewReader(file) }, plain.DBExt: func(file string) (Reader, error) { return plain.NewReader(file) }, qqwry.DBExt: func(file string) (Reader, error) { return qqwry.NewReader(file) }, zxinc.DBExt: func(file string) (Reader, error) { return zxinc.NewReader(file) }, } ReaderCommonNames = map[string]func(string) (Reader, error){} )
View Source
var ( WriterFormats = map[string]func(meta *model.Meta) (Writer, error){ ipdb.DBFormat: func(meta *model.Meta) (Writer, error) { return ipdb.NewWriter(meta) }, mmdb.DBFormat: func(meta *model.Meta) (Writer, error) { return mmdb.NewWriter(meta) }, plain.DBFormat: func(meta *model.Meta) (Writer, error) { return plain.NewWriter(meta) }, } WriterExts = map[string]func(meta *model.Meta) (Writer, error){ ipdb.DBExt: func(meta *model.Meta) (Writer, error) { return ipdb.NewWriter(meta) }, mmdb.DBExt: func(meta *model.Meta) (Writer, error) { return mmdb.NewWriter(meta) }, plain.DBExt: func(meta *model.Meta) (Writer, error) { return plain.NewWriter(meta) }, } )
Functions ¶
func RegisterReaderCommonName ¶
RegisterReaderCommonName registers a Reader by its common file name.
func RegisterReaderExt ¶
RegisterReaderExt registers a Reader by its file extension.
func RegisterReaderFormat ¶
RegisterReaderFormat registers a Reader by its format.
func RegisterWriterExt ¶
RegisterWriterExt registers a Writer by its file extension.
Types ¶
type Reader ¶
type Reader interface { // Meta returns the meta-information of the IP database. Meta() *model.Meta // Find retrieves IP information based on the given IP address. Find(ip net.IP) (*model.IPInfo, error) // SetOption configures the Reader with the provided option. SetOption(option interface{}) error // Close closes the IP database. Close() error }
Reader defines an interface for reading IP databases.
type Writer ¶
type Writer interface { // SetOption configures the Writer with the provided option. SetOption(option interface{}) error // Insert IP information Insert(info *model.IPInfo) error // WriteTo writes data to io.Writer WriteTo(w io.Writer) (int64, error) }
Writer defines an interface for writing IP databases.
Click to show internal directories.
Click to hide internal directories.