1
0
mirror of https://github.com/kataras/iris.git synced 2026-02-12 05:36:04 +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

@@ -32,7 +32,7 @@ var DefaultDeprecationOptions = DeprecationOptions{
// It can be used inside a middleware.
//
// See `Deprecated` to wrap an existing handler instead.
func WriteDeprecated(ctx context.Context, options DeprecationOptions) {
func WriteDeprecated(ctx *context.Context, options DeprecationOptions) {
if options.WarnMessage == "" {
options.WarnMessage = DefaultDeprecationOptions.WarnMessage
}
@@ -52,7 +52,7 @@ func WriteDeprecated(ctx context.Context, options DeprecationOptions) {
// Deprecated can be used to tell the clients that
// a newer version of that specific resource is available instead.
func Deprecated(handler context.Handler, options DeprecationOptions) context.Handler {
return func(ctx context.Context) {
return func(ctx *context.Context) {
WriteDeprecated(ctx, options)
handler(ctx)
}

View File

@@ -33,7 +33,7 @@ const (
// NotFoundHandler is the default version not found handler that
// is executed from `NewMatcher` when no version is registered as available to dispatch a resource.
var NotFoundHandler = func(ctx context.Context) {
var NotFoundHandler = func(ctx *context.Context) {
// 303 is an option too,
// end-dev has the chance to change that behavior by using the NotFound in the map:
//
@@ -60,7 +60,7 @@ var NotFoundHandler = func(ctx context.Context) {
// for versions (see `Key` for further details on that).
//
// See `SetVersion` too.
func GetVersion(ctx context.Context) string {
func GetVersion(ctx *context.Context) string {
// firstly by context store, if manually set by a middleware.
version := ctx.Values().GetString(ctx.Application().ConfigurationReadOnly().GetVersionContextKey())
if version != "" {
@@ -104,6 +104,6 @@ func GetVersion(ctx context.Context) string {
// SetVersion force-sets the API Version.
// It can be used inside a middleware.
// See `GetVersion` too.
func SetVersion(ctx context.Context, constraint string) {
func SetVersion(ctx *context.Context, constraint string) {
ctx.Values().Set(ctx.Application().ConfigurationReadOnly().GetVersionContextKey(), constraint)
}

View File

@@ -33,7 +33,7 @@ func check(v string, is string) (string, bool) {
//
// If matched then it sets the "X-API-Version" response header and
// stores the matched version into Context (see `GetVersion` too).
func Match(ctx context.Context, expectedVersion string) bool {
func Match(ctx *context.Context, expectedVersion string) bool {
versionString, matched := check(GetVersion(ctx), expectedVersion)
if !matched {
return false
@@ -57,7 +57,7 @@ type Map map[string]context.Handler
func NewMatcher(versions Map) context.Handler {
constraintsHandlers, notFoundHandler := buildConstraints(versions)
return func(ctx context.Context) {
return func(ctx *context.Context) {
versionString := GetVersion(ctx)
if versionString == "" || versionString == NotFound {
notFoundHandler(ctx)