diff options
| author | Felix Hanley <felix@userspace.com.au> | 2016-12-05 08:16:58 +0000 |
|---|---|---|
| committer | Felix Hanley <felix@userspace.com.au> | 2016-12-05 08:16:58 +0000 |
| commit | b049991a46a2f619344bd6e915745703864d0134 (patch) | |
| tree | ec1d3897a7b69c7c63a3774d4c42dfbb8cb46432 /src/dict2rest/main.go | |
| parent | e1c3d6f7db06d592538f1162b2b6b9f1b6efa330 (diff) | |
| download | go-dict2rest-b049991a46a2f619344bd6e915745703864d0134.tar.gz go-dict2rest-b049991a46a2f619344bd6e915745703864d0134.tar.bz2 | |
Diffstat (limited to 'src/dict2rest/main.go')
| -rw-r--r-- | src/dict2rest/main.go | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/src/dict2rest/main.go b/src/dict2rest/main.go deleted file mode 100644 index 94e1ac2..0000000 --- a/src/dict2rest/main.go +++ /dev/null @@ -1,89 +0,0 @@ -package main - -import ( - "flag" - "github.com/julienschmidt/httprouter" - "github.com/alexedwards/stack" - "github.com/rs/cors" - "github.com/stretchr/graceful" - "log" - "net/http" - "os" - "time" -) - -// Globals -var dictServer string - -func main() { - var err error - - port := flag.String("port", "8080", "Listen port") - dictHost := flag.String("dicthost", "localhost", "Dict server name") - dictPort := flag.String("dictport", "2628", "Dict server port") - gzip := flag.Bool("gzip", false, "Support gzip compression") - deflate := flag.Bool("deflate", false, "Support DEFLATE compression") - - flag.Parse() - - dictServer = *dictHost + ":" + *dictPort - - client, err := getDictClient() - if err != nil { - os.Exit(1) - } - - // Get the global list of databases - dicts, err := getDictionaries(client) - if err != nil { - log.Println("Unable to get database list") - os.Exit(1) - } - - for _, d := range dicts { - log.Printf("Available dictionary %s: %s", d.Name, d.Desc) - } - // No need for it until a request comes in - client.Close() - - // Define our routes - router := httprouter.New() - router.GET("/define/:word", dictDefine) - router.GET("/databases", dictDatabases) - router.GET("/db", dictDatabases) - - // Define our middlewares - - // Going to need some CORS headers - cors := cors.New(cors.Options{ - AllowedHeaders: []string{ - "Accept", "Content-Type", "Origin", - }, - AllowedMethods: []string{ - "GET", "OPTIONS", - }, - }) - - stdChain := stack.New(stack.Adapt(cors.Handler), stack.Adapt(Logger)) - if *gzip { - stdChain = stdChain.Append(Gzip) - log.Println("Adding support for Gzip compression") - } - - if *deflate { - stdChain = stdChain.Append(Deflate) - log.Println("Adding support for DEFLATE compression") - } - - chain := stdChain.ThenHandler(router) - - listen := ":" + *port - - srv := &graceful.Server{ - Timeout: 5 * time.Second, - Server: &http.Server{Addr: listen, Handler: chain}, - } - - log.Printf("Listening at %s", listen) - srv.ListenAndServe() -} |
