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.