mirror of
https://github.com/kataras/iris.git
synced 2025-12-17 18:07:01 +00:00
(#1554) Add support for all common compressions (write and read)
- Remove the context.Context interface and export the *context, the iris.Context now points to the pointer\nSupport compression and rate limiting in the FileServer\nBit of code organisation Former-commit-id: ad1c61bf968059510c6be9e7f2cceec7da70ba17
This commit is contained in:
8
cache/browser.go
vendored
8
cache/browser.go
vendored
@@ -31,7 +31,7 @@ const (
|
||||
// A good use of this middleware is on HTML routes; to refresh the page even on "back" and "forward" browser's arrow buttons.
|
||||
//
|
||||
// See `cache#StaticCache` for the opposite behavior.
|
||||
var NoCache = func(ctx context.Context) {
|
||||
var NoCache = func(ctx *context.Context) {
|
||||
ctx.Header(context.CacheControlHeaderKey, CacheControlHeaderValue)
|
||||
ctx.Header(PragmaHeaderKey, PragmaNoCacheHeaderValue)
|
||||
ctx.Header(ExpiresHeaderKey, ExpiresNeverHeaderValue)
|
||||
@@ -59,7 +59,7 @@ var StaticCache = func(cacheDur time.Duration) context.Handler {
|
||||
}
|
||||
|
||||
cacheControlHeaderValue := "public, max-age=" + strconv.Itoa(int(cacheDur.Seconds()))
|
||||
return func(ctx context.Context) {
|
||||
return func(ctx *context.Context) {
|
||||
cacheUntil := time.Now().Add(cacheDur).Format(ctx.Application().ConfigurationReadOnly().GetTimeFormat())
|
||||
ctx.Header(ExpiresHeaderKey, cacheUntil)
|
||||
ctx.Header(context.CacheControlHeaderKey, cacheControlHeaderValue)
|
||||
@@ -98,7 +98,7 @@ const ifNoneMatchHeaderKey = "If-None-Match"
|
||||
//
|
||||
// Read more at: https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching and
|
||||
// https://en.wikipedia.org/wiki/HTTP_ETag
|
||||
var ETag = func(ctx context.Context) {
|
||||
var ETag = func(ctx *context.Context) {
|
||||
key := ctx.Request().URL.Path
|
||||
ctx.Header(context.ETagHeaderKey, key)
|
||||
if match := ctx.GetHeader(ifNoneMatchHeaderKey); match == key {
|
||||
@@ -126,7 +126,7 @@ var ETag = func(ctx context.Context) {
|
||||
// can be used on Party's that contains a static handler,
|
||||
// i.e `HandleDir`.
|
||||
var Cache304 = func(expiresEvery time.Duration) context.Handler {
|
||||
return func(ctx context.Context) {
|
||||
return func(ctx *context.Context) {
|
||||
now := time.Now()
|
||||
if modified, err := ctx.CheckIfModifiedSince(now.Add(-expiresEvery)); !modified && err == nil {
|
||||
ctx.WriteNotModified()
|
||||
|
||||
Reference in New Issue
Block a user