mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
52 lines
1.7 KiB
Go
52 lines
1.7 KiB
Go
package fnext
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/fnproject/fn/api/models"
|
|
)
|
|
|
|
// APIHandlerFunc is a convenience to make an APIHandler.
|
|
type APIHandlerFunc func(w http.ResponseWriter, r *http.Request)
|
|
|
|
// ServeHTTP calls f(w, r).
|
|
func (f APIHandlerFunc) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
f(w, r)
|
|
}
|
|
|
|
// APIHandler may be used to add an http endpoint on the versioned route of the Fn API.
|
|
type APIHandler interface {
|
|
// Handle(ctx context.Context)
|
|
ServeHTTP(w http.ResponseWriter, r *http.Request)
|
|
}
|
|
|
|
// APIAppHandler may be used to add an http endpoint on the versioned route of fn API,
|
|
// at /:version/apps/:app
|
|
type APIAppHandler interface {
|
|
// Handle(ctx context.Context)
|
|
ServeHTTP(w http.ResponseWriter, r *http.Request, app *models.App)
|
|
}
|
|
|
|
// APIAppHandlerFunc is a convenience for getting an APIAppHandler.
|
|
type APIAppHandlerFunc func(w http.ResponseWriter, r *http.Request, app *models.App)
|
|
|
|
// ServeHTTP calls f(w, r).
|
|
func (f APIAppHandlerFunc) ServeHTTP(w http.ResponseWriter, r *http.Request, app *models.App) {
|
|
f(w, r, app)
|
|
}
|
|
|
|
// APIRouteHandler may be used to add an http endpoint on the versioned route of fn API,
|
|
// at /:version/apps/:app/routes/:route
|
|
type APIRouteHandler interface {
|
|
// Handle(ctx context.Context)
|
|
ServeHTTP(w http.ResponseWriter, r *http.Request, app *models.App, route *models.Route)
|
|
}
|
|
|
|
// APIRouteHandlerFunc is a convenience for getting an APIRouteHandler.
|
|
type APIRouteHandlerFunc func(w http.ResponseWriter, r *http.Request, app *models.App, route *models.Route)
|
|
|
|
// ServeHTTP calls f(w, r).
|
|
func (f APIRouteHandlerFunc) ServeHTTP(w http.ResponseWriter, r *http.Request, app *models.App, route *models.Route) {
|
|
f(w, r, app, route)
|
|
}
|