aboutsummaryrefslogtreecommitdiff
path: root/src/dict2rest/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/dict2rest/main.go')
-rw-r--r--src/dict2rest/main.go89
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()
-}