1
0
mirror of https://github.com/kataras/iris.git synced 2026-01-08 04:21:57 +00:00

Complete the HISTORY.md for the new v7.2.0

Former-commit-id: 0f2fe05ee0dd7239711284a241557282c8a740a4
This commit is contained in:
kataras
2017-06-15 20:34:14 +03:00
parent 35ae2a816d
commit 494ecdc323
2 changed files with 8 additions and 33 deletions

View File

@@ -32,6 +32,13 @@ The amount of the next two or three donations you'll send they will be immediate
# Th, 15 June 2017 | v7.2.0
### Cache
Declare the `iris.Cache alias` to the new, improved and most-suited for common usage, `cache.Handler function`.
`iris.Cache` be used as middleware in the chain now, example [here](_examples/intermediate/cache-markdown/main.go). However [you can still use the cache as a wrapper](cache/cache_test.go) by importing the `github.com/kataras/iris/cache` package.
### File server
- **Fix** [that](https://github.com/iris-contrib/community-board/issues/12).

View File

@@ -4,7 +4,6 @@ import (
"time"
"github.com/kataras/iris"
"github.com/kataras/iris/cache"
"github.com/kataras/iris/context"
)
@@ -59,12 +58,7 @@ All features of Sundown are supported, including:
func main() {
app := iris.New()
// first argument is the handler which response's we want to apply the cache.
// if second argument, expiration, is <=time.Second then the cache tries to set the expiration from the "cache-control" maxage header's value(in seconds)
// and if that header is empty or not exist then it sets a default of 5 minutes.
writeMarkdownCached := cache.Cache(writeMarkdown, 10*time.Second) // or CacheHandler to get the handler
app.Get("/", writeMarkdownCached.ServeHTTP)
app.Get("/", iris.Cache(10*time.Second), writeMarkdown)
// saves its content on the first request and serves it instead of re-calculating the content.
// After 10 seconds it will be cleared and resetted.
@@ -78,29 +72,3 @@ func writeMarkdown(ctx context.Context) {
ctx.Markdown(markdownContents)
}
// Notes:
// Cached handler is not changing your pre-defined headers,
// so it will not send any additional headers to the client.
// The cache happening at the server-side's memory.
//
// see "DefaultRuleSet" in "cache/client/ruleset.go" to see how you can add separated
// rules to each of the cached handlers (`.AddRule`) with the help of "/cache/client/rule"'s definitions.
//
// The default rules are:
/*
// #1 A shared cache MUST NOT use a cached response to a request with an
// Authorization header field
rule.HeaderClaim(ruleset.AuthorizationRule),
// #2 "must-revalidate" and/or
// "s-maxage" response directives are not allowed to be served stale
// (Section 4.2.4) by shared caches. In particular, a response with
// either "max-age=0, must-revalidate" or "s-maxage=0" cannot be used to
// satisfy a subsequent request without revalidating it on the origin
// server.
rule.HeaderClaim(ruleset.MustRevalidateRule),
rule.HeaderClaim(ruleset.ZeroMaxAgeRule),
// #3 custom No-Cache header used inside this library
// for BOTH request and response (after get-cache action)
rule.Header(ruleset.NoCacheRule, ruleset.NoCacheRule)
*/