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:
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user