1
0
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:
Gerasimos (Makis) Maropoulos
2020-07-10 23:21:09 +03:00
parent 645da2b2ef
commit 0f113dfcda
112 changed files with 2119 additions and 3390 deletions

View File

@@ -116,7 +116,7 @@ func (repo *repository) register(route *Route, rule RouteRegisterRule) (*Route,
return route, nil
}
var defaultOverlapFilter = func(ctx context.Context) bool {
var defaultOverlapFilter = func(ctx *context.Context) bool {
if ctx.IsStopped() {
// It's stopped and the response can be overridden by a new handler.
rs, ok := ctx.ResponseWriter().(context.ResponseWriterReseter)
@@ -131,7 +131,7 @@ func overlapRoute(r *Route, next *Route) {
next.BuildHandlers()
nextHandlers := next.Handlers[0:]
decisionHandler := func(ctx context.Context) {
decisionHandler := func(ctx *context.Context) {
ctx.Next()
if !defaultOverlapFilter(ctx) {
@@ -925,7 +925,7 @@ func (api *APIBuilder) registerResourceRoute(reqPath string, h context.Handler)
// Returns the GET *Route.
func (api *APIBuilder) StaticContent(reqPath string, cType string, content []byte) *Route {
modtime := time.Now()
h := func(ctx context.Context) {
h := func(ctx *context.Context) {
ctx.ContentType(cType)
if _, err := ctx.WriteWithExpiration(content, modtime); err != nil {
ctx.StatusCode(http.StatusInternalServerError)
@@ -975,7 +975,7 @@ func (api *APIBuilder) Favicon(favPath string, requestPath ...string) *Route {
modtime := time.Now()
cType := TypeByFilename(favPath)
h := func(ctx context.Context) {
h := func(ctx *context.Context) {
ctx.ContentType(cType)
if _, err := ctx.WriteWithExpiration(cacheFav, modtime); err != nil {
ctx.StatusCode(http.StatusInternalServerError)
@@ -1030,7 +1030,7 @@ func (api *APIBuilder) OnAnyErrorCode(handlers ...context.Handler) (routes []*Ro
//
// Examples: https://github.com/kataras/iris/tree/master/_examples/view
func (api *APIBuilder) Layout(tmplLayoutFile string) Party {
api.Use(func(ctx context.Context) {
api.Use(func(ctx *context.Context) {
ctx.ViewLayout(tmplLayoutFile)
ctx.Next()
})