diff options
author | Ben Morrison <ben@gbmor.dev> | 2019-05-20 00:53:07 -0400 |
---|---|---|
committer | Ben Morrison <ben@gbmor.dev> | 2019-05-20 02:12:08 -0400 |
commit | efa99ed5253c229c83d8f2d98ee1c08b4383184e (patch) | |
tree | 6c91f0436eff5e31d9be892b6d2f2adfbb3a030c /main.go | |
parent | 747f4fb70ff61d3f8a7bb1bed896a913b0999450 (diff) | |
download | getwtxt-efa99ed5253c229c83d8f2d98ee1c08b4383184e.tar.gz |
endpoint query function added
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/main.go b/main.go index 4508edf..448ff1a 100644 --- a/main.go +++ b/main.go @@ -20,41 +20,49 @@ func main() { index := mux.NewRouter().StrictSlash(true) api := index.PathPrefix("/api").Subrouter() - // <3 gorilla/mux + // Begin the path -> handler mapping index.Path("/"). Methods("GET"). HandlerFunc(indexHandler) + index.Path("/css"). Methods("GET"). HandlerFunc(cssHandler) + index.Path("/api"). Methods("GET"). HandlerFunc(apiBaseHandler) + // twtxt will add support for other formats later. // Maybe json? Making this future-proof. api.Path("/{format:(?:plain)}"). Methods("GET"). HandlerFunc(apiFormatHandler) + // Specifying the endpoint with and without query information. // Will return 404 on empty queries otherwise. api.Path("/{format:(?:plain)}/{endpoint:(?:mentions|users|tweets)}"). Methods("GET"). HandlerFunc(apiEndpointHandler) + // Using stdlib net/url to validate the input URLs rather than regex. // Validating a URL with regex is unwieldly api.Path("/{format:(?:plain)}/{endpoint:(?:mentions|users|tweets)}"). Queries("url", "{url}", "q", "{query}"). Methods("GET"). HandlerFunc(apiEndpointHandler) + // This is for submitting new users api.Path("/{format:(?:plain)}/{endpoint:users}"). Queries("url", "{url}", "nickname", "{nickname:[a-zA-Z0-9_-]+}"). Methods("POST"). HandlerFunc(apiEndpointPOSTHandler) + // Show all observed tags api.Path("/{format:(?:plain)}/tags"). Methods("GET"). HandlerFunc(apiTagsBaseHandler) + // Requests tweets with a specific tag api.Path("/{format:(?:plain)}/tags/{tags:[a-zA-Z0-9_-]+}"). Methods("GET"). @@ -77,12 +85,6 @@ func main() { if err != nil { log.Printf("%v\n", err) } - defer func() { - err := server.Close() - if err != nil { - log.Printf("%v\n", err) - } - }() closelog <- true } |