diff options
author | Ben Morrison <ben@gbmor.dev> | 2019-05-13 00:42:48 -0400 |
---|---|---|
committer | Ben Morrison <ben@gbmor.dev> | 2019-05-13 00:42:48 -0400 |
commit | 5310d08bda170e2d394d27410655283e1797b7ff (patch) | |
tree | 730706dbe858d389ede0d5e39b191e6ec2a318d1 /main.go | |
parent | 313ab715c896dce98966f7e902b94da877cca1b2 (diff) | |
download | getwtxt-5310d08bda170e2d394d27410655283e1797b7ff.tar.gz |
watching for ^C. added comments.
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/main.go b/main.go index 267c4ea..25d95af 100644 --- a/main.go +++ b/main.go @@ -17,7 +17,7 @@ func main() { index := mux.NewRouter().StrictSlash(true) api := index.PathPrefix("/api").Subrouter() - // gorilla/mux makes path validation painless + // <3 gorilla/mux index.Path("/"). Methods("GET"). HandlerFunc(indexHandler) @@ -27,16 +27,26 @@ func main() { api.Path("/"). 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"). - Queries("url", "{url}", "nickname", "{nickname}"). HandlerFunc(apiEndpointPOSTHandler) api.Path("/{format:(?:plain)}/tags"). Methods("GET"). |