Skip to content

pombredanne/go-dictd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-dictd

go-dictd is a Go library for implementing custom RFC2229/dictd protocol servers.

Basically, the coolest part is that you can define your own custom "tables" for the dictd server. So far, this comes with a LevelDB and an Urban Dictionary example.

Writing a custom Database

The protocol you have to implement is the dictd.Database interface, which looks something like:

/* Database is an interface for external Database "Backends" to implement. */
type Database interface {

	/* Method to handle incoming `MATCH` commands. */
	Match(name string, query string, strat string) []*Definition

	/* Method to handle incoming `DEFINE` commands. */
	Define(name string, query string) []*Definition

	/* Method to handle incoming `SHOW INFO` commands. */
	Info(name string) string

	/* Method to return a one-line Description of the Database. */
	Description(name string) string

	/* Get a list of valid Match Strategies. */
	Strategies(name string) map[string]string
}

About

dictd server bindings in go

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%