mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
Per route api extensions (#542)
* Extend extension mechanism to support per-route API extensions * Tidy up comment * Remove print statement * Minor improvement to README * Avoid calling c.Request.Context() twice
This commit is contained in:
@@ -29,6 +29,14 @@ func main() {
|
||||
fmt.Println("Custom4Handler called")
|
||||
fmt.Fprintf(w, "Hello app %v func, %q", app.Name, html.EscapeString(r.URL.Path))
|
||||
})
|
||||
// the following will be at /v1/apps/:app_name/routes/:route_name/custom5
|
||||
// and /v1/apps/:app_name/routes/:route_name/custom6
|
||||
funcServer.AddRouteEndpoint("GET", "/custom5", &Custom5Handler{})
|
||||
funcServer.AddRouteEndpointFunc("GET", "/custom6", func(w http.ResponseWriter, r *http.Request, app *models.App, route *models.Route) {
|
||||
// fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path))
|
||||
fmt.Println("Custom6Handler called")
|
||||
fmt.Fprintf(w, "Hello app %v, route %v, request %q", app.Name, route.Path, html.EscapeString(r.URL.Path))
|
||||
})
|
||||
funcServer.Start(ctx)
|
||||
}
|
||||
|
||||
@@ -47,3 +55,11 @@ func (h *Custom3Handler) ServeHTTP(w http.ResponseWriter, r *http.Request, app *
|
||||
fmt.Println("Custom3Handler called")
|
||||
fmt.Fprintf(w, "Hello app %v, %q", app.Name, html.EscapeString(r.URL.Path))
|
||||
}
|
||||
|
||||
type Custom5Handler struct {
|
||||
}
|
||||
|
||||
func (h *Custom5Handler) ServeHTTP(w http.ResponseWriter, r *http.Request, app *models.App, route *models.Route) {
|
||||
fmt.Println("Custom5Handler called")
|
||||
fmt.Fprintf(w, "Hello! app %v, route %v, request %q", app.Name, route.Path, html.EscapeString(r.URL.Path))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user