Created
June 25, 2020 13:37
-
-
Save idoqo/78601297d4ee357c044ec6be99726ce8 to your computer and use it in GitHub Desktop.
save chi routes to a txt file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"fmt" | |
"net/http" | |
"os" | |
"strings" | |
"github.com/go-chi/chi" | |
"github.com/go-chi/chi/middleware" | |
) | |
func main() { | |
r := chi.NewRouter() | |
r.Use(middleware.RequestID) | |
r.Use(middleware.RealIP) | |
r.Use(middleware.Logger) | |
r.Get("/", rudy) | |
r.Get("/recv", recv) | |
r.Get("/send", send) | |
f, err := os.Create("routes.txt") | |
if err != nil { | |
fmt.Println(err) | |
} | |
defer f.Close() | |
walker := func(method string, route string, handler http.Handler, middlewares ...func(http.Handler) http.Handler) error { | |
route = strings.Replace(route, "/*/", "/", -1) | |
s := fmt.Sprintf("%s\t\t%s\n", method, route) | |
_, err = f.WriteString(s) | |
if err != nil { | |
return err | |
} | |
return nil | |
} | |
if err := chi.Walk(r, walker); err != nil { | |
fmt.Printf("Error: %s\n", err.Error()) | |
} | |
http.ListenAndServe(":3333", r) | |
} | |
func recv(w http.ResponseWriter, r *http.Request) { | |
w.Write([]byte("received")) | |
} | |
func send(w http.ResponseWriter, r *http.Request) { | |
w.Write([]byte("sent")) | |
} | |
func rudy(w http.ResponseWriter, r *http.Request) { | |
w.Write([]byte("rudy? yeah!")) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment