2 回答
TA貢獻(xiàn)1856條經(jīng)驗 獲得超17個贊
您應(yīng)該能夠使用緩存包裝 ,該緩存可以根據(jù)請求使用緩存,也可以回退到 .http.DefaultTransporthttp.DefaultTransport
package main
import (
"net/http"
"net/http/httputil"
)
var _ http.RoundTripper = &CachingTransport{}
type CachingTransport struct {
// put your cache here
}
func (c *CachingTransport) RoundTrip(request *http.Request) (*http.Response, error) {
// determine whether to use the cache and return, or use the default transport
return http.DefaultTransport.RoundTrip(request)
}
func main() {
_ = httputil.ReverseProxy{
Transport: &CachingTransport{},
}
}
TA貢獻(xiàn)1847條經(jīng)驗 獲得超7個贊
A 具有單個導(dǎo)出方法,即響應(yīng)作者,要求 *請求),這使得它實現(xiàn)了網(wǎng)絡(luò)/http。處理程序接口。httputil.ReverseProxy
因此,基本上,在某個地方,您現(xiàn)在正在使用一個普通的實例,而不是使用您的自定義類型的實例,該實例也可以實現(xiàn),保留指向 的實例的指針,并處理請求本身或調(diào)用該實例的。httputil.ReverseProxynet/http.Handlerhttputil.ReverseProxyReverseProxyServeHTTP
- 2 回答
- 0 關(guān)注
- 193 瀏覽
添加回答
舉報
