W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Kitex 框架提供了一個簡單的中間件構(gòu)造器,可以支持用戶自定義訪問控制的邏輯,在特定條件下拒絕請求。下面是一個簡單的例子,隨機拒絕 1% 的請求:
package myaccesscontrol
import (
"math/rand"
"github.com/cloudwego/kitex/pkg/acl"
)
var errRejected = errors.New("1% rejected")
// 實現(xiàn)一個判斷函數(shù)
func reject1percent(ctx context.Context, request interface{}) (reason error) {
if rand.Intn(100) == 0 {
return errRejected // 拒絕請求時,需要返回一個錯誤
}
return nil
}
var MyMiddleware = acl.NewACLMiddleware(reject1percent) // 創(chuàng)建中間件
隨后,你可以在創(chuàng)建 client 或者 server 的時候,通過 WithMiddleware(myaccesscontrol.MyMiddleware) 啟用該中間件。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: