本文整理匯總了Golang中github.com/webx-top/echo.Context.Path方法的典型用法代碼示例。如果您正苦於以下問題:Golang Context.Path方法的具體用法?Golang Context.Path怎麽用?Golang Context.Path使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/webx-top/echo.Context
的用法示例。
在下文中一共展示了Context.Path方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: HttpCache
func HttpCache(ctx echo.Context, eTag interface{}, etagValidator func(oldEtag, newEtag string) bool) bool {
var etag string
if eTag == nil {
etag = fmt.Sprintf(`%v`, time.Now().UTC().Unix())
} else {
etag = fmt.Sprintf(`%v`, eTag)
}
resp := ctx.Response()
//resp.Header().Set(`Connection`, `keep-alive`)
resp.Header().Set(`X-Cache`, `HIT from Webx-Page-Cache`)
if inm := ctx.Request().Header().Get("If-None-Match"); inm != `` {
var valid bool
if etagValidator != nil {
valid = etagValidator(inm, etag)
} else {
valid = inm == etag
}
if valid {
resp.Header().Del(`Content-Type`)
resp.Header().Del(`Content-Length`)
resp.WriteHeader(http.StatusNotModified)
ctx.Object().Echo().Logger().Debugf(`%v is not modified.`, ctx.Path())
return true
}
}
resp.Header().Set(`Etag`, etag)
resp.Header().Set(`Cache-Control`, `public,max-age=1`)
return false
}