zoukankan      html  css  js  c++  java
  • fn project 扩展

    目前支持的扩展方式
     
    1. Listeners - listen to API events such as a route getting updated and react accordingly.
    2. Middleware - a chain of middleware is executed before an API handler is called.
    3. Add API Endpoints - extend the default Fn API.
     
    具体的官方介绍
     

    Listeners

    Listeners are the main way to extend Fn.

    The following listener types are supported:

      • App Listeners - GoDoc
      • Runner Listeners - GoDoc

    Creating a Listener

    You can easily use app and runner listeners by creating a struct with valid methods satisfying the interface for the respective listener and adding it to the Fn API

    Example:

    package main
    
    import (
        "context"
    
        "github.com/fnproject/functions/api/server"
        "github.com/fnproject/functions/api/models"
    )
    
    type myCustomListener struct{}
    
    func (c *myCustomListener) BeforeAppCreate(ctx context.Context, app *models.App) error { return nil }
    func (c *myCustomListener) AfterAppCreate(ctx context.Context, app *models.App) error { return nil }
    
    func (c *myCustomListener) BeforeAppUpdate(ctx context.Context, app *models.App) error { return nil }
    func (c *myCustomListener) AfterAppUpdate(ctx context.Context, app *models.App) error { return nil }
    
    func (c *myCustomListener) BeforeAppDelete(ctx context.Context, app *models.App) error { return nil }
    func (c *myCustomListener) BeforeAppDelete(ctx context.Context, app *models.App) error { return nil }
    
    function main () {
        srv := server.New(/* Here all required parameters to initialize the server */)
    
        srv.AddAppListener(myCustomListener)
    
        srv.Run()
    }
    

    Middleware

    Middleware enables you to add functionality to every API request. For every request, the chain of Middleware will be called in order, allowing you to modify or reject requests, as well as write output and cancel the chain.

    NOTES:

        • middleware is responsible for writing output if it's going to cancel the chain.
        • cancel the chain by returning an error from your Middleware's Serve method.

    See examples of this in examples/middleware/main.go.

    Adding API Endpoints

    You can add API endpoints to the Fn server by using the AddEndpoint and AddEndpointFunc methods.

    See examples of this in examples/extensions/main.go.

     
  • 相关阅读:
    log4j 配置文件
    log4j安装与简介
    tomcat服务
    查看系统网络连接打开端口、系统进程、DOS打开文件
    find查找指定类型文件并删除
    git/github在windows上使用
    VIM配置自动提示功能
    VIM Taglist安装配置和使用
    python Scipy积分运算大全(integrate模块——一重、二重及三重积分)
    python matplotlib绘图大全(散点图、柱状图、饼图、极坐标图、热量图、三维图以及热图)
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/7629505.html
Copyright © 2011-2022 走看看