Documentation
¶
Index ¶
- Variables
- func ConsumerConfigFromHTTPParts(allowedClusters []string, h *http.Header, vars map[string]string, ...) (token, topicFN, pulsarURL, subName string, ...)
- func ConsumerParams(params url.Values) (subName string, subInitPos pulsar.SubscriptionInitialPosition, ...)
- func DeleteFunctionHandler(w http.ResponseWriter, r *http.Request)
- func ExtractEvalTenant(requiredSubject, tokenSub string) bool
- func GetFunctionHandler(w http.ResponseWriter, r *http.Request)
- func GetTopicFnFromRoute(vars map[string]string) (string, error)
- func GetTopicKey(r *http.Request) (string, error)
- func Init()
- func Logger(inner http.Handler, name string) http.Handler
- func NewRouter(mode *string) *mux.Router
- func ReceiveHandler(w http.ResponseWriter, r *http.Request)
- func StatusPage(w http.ResponseWriter, r *http.Request)
- func TokenSubjectHandler(w http.ResponseWriter, r *http.Request)
- func TriggerFunctionHandler(w http.ResponseWriter, r *http.Request)
- func UpdateFunctionHandler(w http.ResponseWriter, r *http.Request)
- func VerifySubject(requiredSubject, tokenSubjects string, ...) bool
- func VerifySubjectBasedOnTopic(topicFN, tokenSub string, evalTenant func(tenant, subjects string) bool) bool
- type ResponseErr
- type Route
- type Routes
- type TokenServerResponse
Constants ¶
This section is empty.
Variables ¶
var PrometheusRoute = Routes{ Route{ "Prometeus metrics", http.MethodGet, "/metrics", promhttp.Handler().ServeHTTP, middleware.NoAuth, }, }
PrometheusRoute definition
var ReceiverRoutes = Routes{ Route{ "status", "GET", "/status", StatusPage, middleware.AuthHeaderRequired, }, Route{ "Receive", "POST", "/v1/firehose", ReceiveHandler, middleware.NoAuth, }, }
ReceiverRoutes definition
var RestRoutes = Routes{ Route{ "Get a function", "GET", "/v2/function/{tenant}/{function}", GetFunctionHandler, middleware.AuthVerifyJWT, }, Route{ "Create a function", "POST", "/v2/function/{tenant}/{function}", UpdateFunctionHandler, middleware.AuthVerifyJWT, }, Route{ "Delete a function", "DELETE", "/v2/function/{tenant}/{function}", DeleteFunctionHandler, middleware.AuthVerifyJWT, }, Route{ "Trigger a function", "PUT", "/v2/function", TriggerFunctionHandler, middleware.AuthVerifyJWT, }, }
RestRoutes definition
Functions ¶
func ConsumerConfigFromHTTPParts ¶
func ConsumerConfigFromHTTPParts(allowedClusters []string, h *http.Header, vars map[string]string, params url.Values) (token, topicFN, pulsarURL, subName string, subInitPos pulsar.SubscriptionInitialPosition, subType pulsar.SubscriptionType, err error)
ConsumerConfigFromHTTPParts returns configuration parameters required to generate Pulsar Client and Consumer
func ConsumerParams ¶
func ConsumerParams(params url.Values) (subName string, subInitPos pulsar.SubscriptionInitialPosition, subType pulsar.SubscriptionType, err error)
ConsumerParams returns a configuration parameters for Pulsar consumer
func DeleteFunctionHandler ¶
func DeleteFunctionHandler(w http.ResponseWriter, r *http.Request)
DeleteFunctionHandler deletes a function
func ExtractEvalTenant ¶
ExtractEvalTenant is a customized function to evaluate subject against tenant
func GetFunctionHandler ¶
func GetFunctionHandler(w http.ResponseWriter, r *http.Request)
GetFunctionHandler gets a function
func GetTopicFnFromRoute ¶
GetTopicFnFromRoute builds a valida topic fullname from the http route
func GetTopicKey ¶
GetTopicKey gets the topic key from the request body or url sub route
func ReceiveHandler ¶
func ReceiveHandler(w http.ResponseWriter, r *http.Request)
ReceiveHandler - the message receiver handler
func StatusPage ¶
func StatusPage(w http.ResponseWriter, r *http.Request)
StatusPage replies with basic status code
func TokenSubjectHandler ¶
func TokenSubjectHandler(w http.ResponseWriter, r *http.Request)
TokenSubjectHandler issues new token
func TriggerFunctionHandler ¶
func TriggerFunctionHandler(w http.ResponseWriter, r *http.Request)
TriggerFunctionHandler deletes a function
func UpdateFunctionHandler ¶
func UpdateFunctionHandler(w http.ResponseWriter, r *http.Request)
UpdateFunctionHandler creates or updates a function
Types ¶
type ResponseErr ¶
type ResponseErr struct {
Error string `json:"error"`
}
ResponseErr - Error struct for Http response
type Route ¶
type Route struct { Name string Method string Pattern string HandlerFunc http.HandlerFunc AuthFunc mux.MiddlewareFunc }
Route - HTTP Route
type Routes ¶
type Routes []Route
Routes list of HTTP Routes
func GetEffectiveRoutes ¶
GetEffectiveRoutes gets effective routes
type TokenServerResponse ¶
TokenServerResponse is the json object for token server response