From 6ad0e5ab5b2bf8076896d45ec38b4dd3ab87840d Mon Sep 17 00:00:00 2001 From: "Gerasimos (Makis) Maropoulos" Date: Sun, 7 Jun 2020 18:48:01 +0300 Subject: [PATCH] update some contents for the upcoming release (ebook too) --- API-versioning.md | 2 +- Automatic-public-address.md | 2 +- Cache.md | 2 +- Configuration.md | 200 ++- Content-negotiation.md | 3 +- Cookies.md | 6 +- Forms.md | 2 +- Grpc.md | 142 ++ Home.md | 1 + Host.md | 30 +- MVC.md | 18 +- Model-validation.md | 27 +- Our-users.md | 6 +- Publications.md | 6 +- Response-recorder.md | 2 +- Routing-context-methods.md | 1892 ++++++++++++++------------ Routing-error-handlers.md | 22 +- Routing-middleware.md | 58 +- Routing-wrap-the-router.md | 10 +- Sitemap.md | 2 +- Starter-kits.md | 4 +- _Footer.md | 2 +- _Sidebar.md | 1 + _assets/grpc-compatible-question.png | Bin 0 -> 53213 bytes _assets/hero-1-monokai.png | Bin 74794 -> 0 bytes _assets/hero-2-monokai.png | Bin 212648 -> 0 bytes _assets/hero-3-monokai.png | Bin 263378 -> 0 bytes dependency-injection.md | 411 +++++- 28 files changed, 1864 insertions(+), 987 deletions(-) create mode 100644 Grpc.md create mode 100644 _assets/grpc-compatible-question.png delete mode 100644 _assets/hero-1-monokai.png delete mode 100644 _assets/hero-2-monokai.png delete mode 100644 _assets/hero-3-monokai.png diff --git a/API-versioning.md b/API-versioning.md index 30b3744..41c6617 100644 --- a/API-versioning.md +++ b/API-versioning.md @@ -54,7 +54,7 @@ myMiddleware := func(ctx iris.Context) { } myCustomNotVersionFound := func(ctx iris.Context) { - ctx.StatusCode(404) + ctx.StatusCode(iris.StatusNotFound) ctx.Writef("%s version not found", versioning.GetVersion(ctx)) } diff --git a/Automatic-public-address.md b/Automatic-public-address.md index 8693762..c6b578a 100644 --- a/Automatic-public-address.md +++ b/Automatic-public-address.md @@ -12,7 +12,7 @@ Follow the steps below to, temporarily, convert your local Iris web server to a 2. Simply pass the `WithTunneling` configurator in your `app.Run`, 3. You are ready to [GO](https://www.facebook.com/iris.framework/photos/a.2420499271295384/3261189020559734/?type=3&theater)! -[![tunneling_screenshot](https://user-images.githubusercontent.com/22900943/61413905-50596300-a8f5-11e9-8be0-7e806846d52f.png)](https://www.facebook.com/iris.framework/photos/a.2420499271295384/3261189020559734/?type=3&theater) +![tunneling_screenshot](https://user-images.githubusercontent.com/22900943/81442996-42731800-917d-11ea-90da-7d6475a6b365.png) - `ctx.Application().ConfigurationReadOnly().GetVHost()` returns the public domain value. Rarely useful but it's there for you. Most of the times you use relative url paths instead of absolute(or you should to). - It doesn't matter if ngrok is already running or not, Iris framework is smart enough to use ngrok's [web API](https://ngrok.com/docs) to create a tunnel. diff --git a/Cache.md b/Cache.md index 8503e8a..5699ec1 100644 --- a/Cache.md +++ b/Cache.md @@ -84,4 +84,4 @@ similar to the `HandleDir`(which sends status OK(200) and browser disk caching i func Cache304(expiresEvery time.Duration) Handler ``` -Examples can be found at: . +Examples can be found at: . diff --git a/Configuration.md b/Configuration.md index 9bd2491..bab9b9b 100644 --- a/Configuration.md +++ b/Configuration.md @@ -2,17 +2,15 @@ At the [[previous|Host]] section we've learnt about the first input argument of Let's start from basics. The `iris.New` function returns an `iris.Application`. This Application value can be configured through its `Configure(...iris.Configurator)` and `Run` methods. -The second optional, varadiac argument of `app.Run` method accepts one or more `iris.Configurator`. An `iris.Configurator` is just a type of: `func(app *iris.Application)`. Custom `iris.Configurator` can be passed to modify yours `*iris.Application` as well. +The second optional, varadiac argument of `app.Run/Listen` method accepts one or more `iris.Configurator`. An `iris.Configurator` is just a type of: `func(app *iris.Application)`. Custom `iris.Configurator` can be passed to modify yours `*iris.Application` as well. There are built-in`iris.Configurator`s for each of the core [Configuration](https://godoc.org/github.com/kataras/iris#Configuration)'s fields, such as `iris.WithoutStartupLog`, `iris.WithCharset("UTF-8")`, `iris.WithOptimizations` and `iris.WithConfiguration(iris.Configuration{...})` functions. -Each “module” like the iris view engine, websockets, sessions and each middleware has its own configurations and options, most of them, separately from the core configuration. +Each "module" like the iris view engine, websockets, sessions and each middleware has its own configurations and options. ## Using the [Configuration](https://godoc.org/github.com/kataras/iris#Configuration) -The only one configuration structure is the `iris.Configuration`. Let's start by that one which can be passed on the `iris.WithConfiguration` function to make it an `iris.Configurator`. - -All of the `iris.Configuration` fields are defaulted to the most common use cases. Iris doesn’t need any configuration before its `app.Run` but if you want to make use of a custom `iris.Configurator` before the server runs then you can use the `app.Configure` method to pass the configurator(s) there. +All of the `iris.Configuration` fields are defaulted to the most common use cases. If you want to make use of a custom `iris.Configurator` at any point call the `app.Configure(accepts iris.Configurator)` method to pass your configurator(s) there. ```go config := iris.WithConfiguration(iris.Configuration { @@ -70,13 +68,14 @@ app.Listen(":8080", config) ## Using the functional way -As we already mention, you can pass any number of `iris.Configurator` in the `app.Run`’s second argument. Iris provides an option for each of its `iris.Configuration`’s fields. +As we already mention, you can pass any number of `iris.Configurator` in the `app.Run/Listen`’s second argument. Iris provides an option for each of its `iris.Configuration`’s fields. ```go app.Listen(":8080", iris.WithoutInterruptHandler, - iris.WithoutServerError(iris.ErrServerClosed), iris.WithoutBodyConsumptionOnUnmarshal, iris.WithoutAutoFireStatusCode, + iris.WithLowercaseRouting, + iris.WithPathIntelligence, iris.WithOptimizations, iris.WithTimeFormat("Mon, 01 Jan 2006 15:04:05 GMT"), ) @@ -86,9 +85,181 @@ Good when you want to change some of the configuration's field. Prefix: "With" or "Without", code editors will help you navigate through all configuration options without even a glitch to the documentation. +List of functional options: + +```go +// WithGlobalConfiguration will load the global yaml configuration file +// from the home directory and it will set/override the whole app's configuration +// to that file's contents. The global configuration file can be modified by user +// and be used by multiple iris instances. +// +// This is useful when we run multiple iris servers that share the same +// configuration, even with custom values at its "Other" field. +// +// Usage: `app.Configure(iris.WithGlobalConfiguration)` or `app.Run([iris.Runner], iris.WithGlobalConfiguration)`. +var WithGlobalConfiguration Configurator + +// WithLogLevel sets the `Configuration.LogLevel` field. +func WithLogLevel(level string) Configurator + +// WithoutServerError will cause to ignore the matched "errors" +// from the main application's `Run/Listen` function. +// +// Usage: +// err := app.Listen(":8080", iris.WithoutServerError(iris.ErrServerClosed)) +// will return `nil` if the server's error was `http/iris#ErrServerClosed`. +// +// See `Configuration#IgnoreServerErrors []string` too. +// +// Example: https://github.com/kataras/iris/tree/master/_examples/http-server/listen-addr/omit-server-errors +func WithoutServerError(errors ...error)Configurator + +// WithoutStartupLog turns off the information send, once, to the terminal when the main server is open. +var WithoutStartupLog Configurator + +// WithoutBanner is a conversion for the `WithoutStartupLog` option. +// +// Turns off the information send, once, to the terminal when the main server is open. +var WithoutBanner = WithoutStartupLog + +// WithoutInterruptHandler disables the automatic graceful server shutdown +// when control/cmd+C pressed. +var WithoutInterruptHandler Configurator + +// WithoutPathCorrection disables the PathCorrection setting. +// +// See `Configuration`. +var WithoutPathCorrection Configurator + +// WithPathIntelligence enables the EnablePathIntelligence setting. +// +// See `Configuration`. +var WithPathIntelligence Configurator + +// WithoutPathCorrectionRedirection disables the PathCorrectionRedirection setting. +// +// See `Configuration`. +var WithoutPathCorrectionRedirection Configurator + +// WithoutBodyConsumptionOnUnmarshal disables BodyConsumptionOnUnmarshal setting. +// +// See `Configuration`. +var WithoutBodyConsumptionOnUnmarshal Configurator + +// WithEmptyFormError enables the setting `FireEmptyFormError`. +// +// See `Configuration`. +var WithEmptyFormError Configurator + +// WithoutAutoFireStatusCode disables the AutoFireStatusCode setting. +// +// See `Configuration`. +var WithoutAutoFireStatusCode Configurator + +// WithPathEscape sets the EnablePathEscape setting to true. +// +// See `Configuration`. +var WithPathEscape Configurator + +// WithLowercaseRouting enables for lowercase routing by +// setting the `ForceLowercaseRoutes` to true. +// +// See `Configuration`. +var WithLowercaseRouting Configurator + +// WithOptimizations can force the application to optimize for the best performance where is possible. +// +// See `Configuration`. +var WithOptimizations Configurator + +// WithFireMethodNotAllowed enables the FireMethodNotAllowed setting. +// +// See `Configuration`. +func WithFireMethodNotAllowed Configurator + +// WithTimeFormat sets the TimeFormat setting. +// +// See `Configuration`. +func WithTimeFormat(timeformat string) Configurator + +// WithCharset sets the Charset setting. +// +// See `Configuration`. +func WithCharset(charset string) Configurator + +// WithPostMaxMemory sets the maximum post data size +// that a client can send to the server, this differs +// from the overral request body size which can be modified +// by the `context#SetMaxRequestBodySize` or `iris#LimitRequestBodySize`. +// +// Defaults to 32MB or 32 << 20 or 32*iris.MB if you prefer. +func WithPostMaxMemory(limit int64) Configurator + +// WithRemoteAddrHeader enables or adds a new or existing request header name +// that can be used to validate the client's real IP. +// +// By-default no "X-" header is consired safe to be used for retrieving the +// client's IP address, because those headers can manually change by +// the client. But sometimes are useful e.g., when behind a proxy +// you want to enable the "X-Forwarded-For" or when cloudflare +// you want to enable the "CF-Connecting-IP", inneed you +// can allow the `ctx.RemoteAddr()` to use any header +// that the client may sent. +// +// Defaults to an empty map but an example usage is: +// WithRemoteAddrHeader("X-Forwarded-For") +// +// Look `context.RemoteAddr()` for more. +func WithRemoteAddrHeader(headerName string) Configurator + +// WithoutRemoteAddrHeader disables an existing request header name +// that can be used to validate and parse the client's real IP. +// +// +// Keep note that RemoteAddrHeaders is already defaults to an empty map +// so you don't have to call this Configurator if you didn't +// add allowed headers via configuration or via `WithRemoteAddrHeader` before. +// +// Look `context.RemoteAddr()` for more. +func WithoutRemoteAddrHeader(headerName string) Configurator + +// WithRemoteAddrPrivateSubnet adds a new private sub-net to be excluded from `context.RemoteAddr`. +// See `WithRemoteAddrHeader` too. +func WithRemoteAddrPrivateSubnet(startIP, endIP string) Configurator + +// WithOtherValue adds a value based on a key to the Other setting. +// +// See `Configuration.Other`. +func WithOtherValue(key string, val interface{}) Configurator + +// WithSitemap enables the sitemap generator. +// Use the Route's `SetLastMod`, `SetChangeFreq` and `SetPriority` to modify +// the sitemap's URL child element properties. +// +// It accepts a "startURL" input argument which +// is the prefix for the registered routes that will be included in the sitemap. +// +// If more than 50,000 static routes are registered then sitemaps will be splitted and a sitemap index will be served in +// /sitemap.xml. +// +// If `Application.I18n.Load/LoadAssets` is called then the sitemap will contain translated links for each static route. +// +// If the result does not complete your needs you can take control +// and use the github.com/kataras/sitemap package to generate a customized one instead. +// +// Example: https://github.com/kataras/iris/tree/master/_examples/sitemap. +func WithSitemap(startURL string) Configurator + +// WithTunneling is the `iris.Configurator` for the `iris.Configuration.Tunneling` field. +// It's used to enable http tunneling for an Iris Application, per registered host +// +// Alternatively use the `iris.WithConfiguration(iris.Configuration{Tunneling: iris.TunnelingConfiguration{ ...}}}`. +var WithTunneling Configuartor +``` + ## Custom values -The `iris.Configuration` contains a field called `Other map[string]interface{}` which accepts any custom `key:value` option, therefore you can use that field to pass specific values that your app expects based on the custom requirements. +The `iris.Configuration` contains a field named `Other map[string]interface{}` which accepts any custom `key:value` option, therefore you can use that field to pass specific values that your app expects based on the custom requirements. ```go app.Listen(":8080", @@ -99,15 +270,12 @@ app.Listen(":8080", You can access those fields via `app.ConfigurationReadOnly`. -```go -serverName := app.ConfigurationReadOnly().Other["MyServerName"] -serverOwner := app.ConfigurationReadOnly().Other["ServerOwner"] -``` - ## Access Configuration from Context -Inside a handler, retrieve those fields using the following: - ```go -ctx.Application().ConfigurationReadOnly() +func (ctx iris.Context) { + cfg := app.Application().ConfigurationReadOnly().GetOther() + srvName := cfg["MyServerName"] + srvOwner := cfg["ServerOwner"] +} ``` diff --git a/Content-negotiation.md b/Content-negotiation.md index 88f74f0..25d04b8 100644 --- a/Content-negotiation.md +++ b/Content-negotiation.md @@ -75,8 +75,7 @@ app.Get("/resource2", func(ctx iris.Context) { }) ``` -[Read the full example](https://github.com/kataras/iris/blob/8ee0de51c593fe0483fbea38117c3c88e065f2ef/_examples/http_responsewriter/content-negotiation/main.go#L22). - +[Read the full example](https://github.com/kataras/iris/blob/master/_examples/response-writer/content-negotiation/main.go#L22). ## Documentation diff --git a/Cookies.md b/Cookies.md index f0bb09f..2e47452 100644 --- a/Cookies.md +++ b/Cookies.md @@ -4,9 +4,11 @@ However the Iris `Context` provides some helpers to make the most common use cas ## Set a Cookie -The `SetCookie` method adds a cookie. +The `SetCookie` and `UpsertCookie` methods add or set (replaces if necessary) a cookie. -Use of the "options" is not required, they can be used to modify the "cookie". You'll see later on what the available options are, custom ones can be added depending on your web application requirements, this also helps to not repeat yourself in a codebase. +The last argument of "options" is optional. a `CookieOption` can be used to modify the "cookie". You'll see later on what the available options are, custom ones can be added depending on your web application requirements, this also helps to not repeat yourself in a codebase. + +Before we continue, the `Context` has a `SetSameSite(http.SameSite)` method too. It sets the ["SameSite"](https://web.dev/samesite-cookies-explained/) cookie field for all cookies to be sent. ```go SetCookie(cookie *http.Cookie, options ...CookieOption) diff --git a/Forms.md b/Forms.md index 3794499..65c2e2a 100644 --- a/Forms.md +++ b/Forms.md @@ -212,4 +212,4 @@ curl -X POST http://localhost:8080/upload \ -H "Content-Type: multipart/form-data" ``` -More examples can be found at . \ No newline at end of file +More examples can be found at and . \ No newline at end of file diff --git a/Grpc.md b/Grpc.md new file mode 100644 index 0000000..63ea4c3 --- /dev/null +++ b/Grpc.md @@ -0,0 +1,142 @@ +gRPC[*](https://grpc.io/) is a modern open source high performance Remote Procedure Call framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend services. + +## gRPC + +Iris and gRPC integration lives inside the [mvc](https://github.com/kataras/iris/tree/master/mvc) package. + +Have you ever have difficulties converting your app or parts of it from HTTP to gGRPC or did you ever wish you had decent HTTP framework support as well for your gRPC services? Now, with Iris you have the best of two worlds. Without change a bit of your existing gRPC services code, you can register them as Iris HTTP routes through a Controller (your service struct value). + +[[_assets/grpc-compatible-question.png]] +> Learn more about our conversation at: https://github.com/kataras/iris/issues/1449#issuecomment-623260695 + + +## Step by step + +We will follow the [official helloworld gRPC example](https://github.com/grpc/grpc-go/tree/master/examples/helloworld). If you had already work with gRPC services you can skip 1-5. + +**1.** Let's write our proto schema for request and response. + +```protobuf +syntax = "proto3"; + +package helloworld; + +// The greeting service definition. +service Greeter { + // Sends a greeting + rpc SayHello (HelloRequest) returns (HelloReply) {} +} + +// The request message containing the user's name. +message HelloRequest { + string name = 1; +} + +// The response message containing the greetings +message HelloReply { + string message = 1; +} +``` + +**2.** Install the protoc Go plugin + +```sh +$ go get -u github.com/golang/protobuf/protoc-gen-go +``` + +**3.** Generate Go file from the helloworld.proto file above + +```sh +$ protoc -I helloworld/ helloworld/helloworld.proto --go_out=plugins=grpc:helloworld +``` + +**4.** Implement a gRPC service as usually, with or without Iris + +```go +import ( + // [...] + pb "myapp/helloworld" + "context" +) +``` + +```go +type Greeter struct { } + +// SayHello implements helloworld.GreeterServer. +func (c *Greeter) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.HelloReply, error) { + return &pb.HelloReply{Message: "Hello " + in.GetName()}, nil +} +``` + +Iris automatically binds the standard "context" `context.Context` to `iris.Context.Request().Context()` +and any other structure that is not mapping to a registered dependency +as a payload (depending on the request), e.g XML, YAML, Query, Form, JSON, Protobuf. + +**5.** Register your service to the gRPC server + +```go +import ( + // [...] + pb "myapp/helloworld" + "google.golang.org/grpc" +) +``` + +```go +grpcServer := grpc.NewServer() + +myService := &Greeter{} +pb.RegisterGreeterServer(grpcServer, myService) +``` + +**6.** Register this `myService` to Iris + +The `mvc.New(party).Handle(ctrl, mvc.GRPC{...})` option allows to register gRPC services per-party (without the requirement of a full wrapper) and optionally strict access to gRPC-only clients. + +Register MVC application controller for gRPC services. +You can bind as many mvc gRpc services in the same Party or app, +as the `ServiceName` differs. + +```go +import ( + // [...] + "github.com/kataras/iris/v12" + "github.com/kataras/iris/v12/mvc" +) +``` + +```go +app := iris.New() + +rootApp := mvc.New(app) +rootApp.Handle(myService, mvc.GRPC{ + Server: grpcServer, // Required. + ServiceName: "helloworld.Greeter", // Required. + Strict: false, +}) +``` + +**7.** Generate TLS Keys + +The Iris server **should ran under TLS** (it's a gRPC requirement). + +```sh +$ openssl genrsa -out server.key 2048 +$ openssl req -new -x509 -sha256 -key server.key -out server.crt -days 3650 +``` + +**8.** Listen and Serve + +```go +app.Run(iris.TLS(":443", "server.crt", "server.key")) +``` + +POST: `https://localhost:443/helloworld.Greeter/SayHello` with request data: `{"name": "John"}` +xpected output: `{"message": "Hello John"}`. + +Both HTTP Client and gRPC client will be able to communicate with our Iris+gRPC service. + +### Exercise files + +Full Server, Clients and Testing Code can be found at: . diff --git a/Home.md b/Home.md index 72a3b62..251a0b6 100644 --- a/Home.md +++ b/Home.md @@ -40,6 +40,7 @@ This wiki is the main source of documentation for **developers** working with (o * [[Websockets]] * [[Dependency Injection|Dependency-Injection]] * [[MVC]] +* [[gRPC]] * [[Sitemap]] * [[Localization]] * [[Testing]] diff --git a/Host.md b/Host.md index 14c011c..a1237f9 100644 --- a/Host.md +++ b/Host.md @@ -8,20 +8,30 @@ by passing a network address with form of "hostname:ip". With Iris we use the `iris.Addr` which is an `iris.Runner` type ```go +import "github.com/kataras/iris/v12" +``` + +```go +app := iris.New() // Listening on tcp with network address 0.0.0.0:8080. // // Listen is a shortcut for app.Run(iris.Addr(":8080")). app.Listen(":8080") ``` -Sometimes you have created a standard net/http server somewhere else in your app and want to use that to serve the Iris web app +Sometimes you choose to have full control over the `http.Server` instance. + +```go +import "net/http" +``` ```go // Same as before but using a custom http.Server which may being used somewhere else too -app.Run(iris.Server(&http.Server{Addr:":8080"})) +server := &http.Server{Addr:":8080" /* other fields here */} +app.Run(iris.Server(server)) ``` -The most advanced usage is to create a custom or a standard `net.Listener` and pass that to `app.Run` +The most advanced usage is to create a custom `net.Listener` and pass that to `app.Run`. ```go // Using a custom net.Listener @@ -32,7 +42,7 @@ if err != nil { app.Run(iris.Listener(l)) ``` -A more complete example, using the unix-only socket files feature +A more complete example, using the unix-only socket files feature. ```go package main @@ -66,7 +76,7 @@ func main() { } ``` -UNIX and BSD hosts can take advandage of the reuse port feature +UNIX and BSD hosts can take advandage of the reuse port feature. ```go package main @@ -115,17 +125,17 @@ func main() { ### HTTP/2 and Secure -If you have signed file keys you can use the `iris.TLS` to serve `https` based on those certification keys +If you have local certification and server key files you can use the `iris.TLS` to serve `https://`. ```go -// TLS using files +// TLS using files or raw contents. app.Run(iris.TLS("127.0.0.1:443", "mycert.cert", "mykey.key")) ``` -The method you should use when your app is ready for **production** is the `iris.AutoTLS` which starts a secure server with automated certifications provided by https://letsencrypt.org for **free** +The method you should use when your app is ready for the outside world is the `iris.AutoTLS` which starts a secure server with certifications provided by https://letsencrypt.org for **free**. ```go -// Automatic TLS +// Automatic TLS. app.Run(iris.AutoTLS(":443", "example.com", "admin@example.com")) ``` @@ -251,4 +261,4 @@ func main() { } ``` -Continue reading the [[Configuration]] section to learn about `app.Run`'s second variadic argument. \ No newline at end of file +Continue reading the [[Configuration]] section to learn about `app.Run`'s second variadic argument. diff --git a/MVC.md b/MVC.md index b52b131..1500600 100644 --- a/MVC.md +++ b/MVC.md @@ -16,6 +16,8 @@ with the fastest possible execution. If you're new to back-end web development read about the MVC architectural pattern first, a good start is that [wikipedia article](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller). +**Note:** Read the [[Dependency Injection]] section before continue. + **Characteristics** All HTTP Methods are supported, for example if want to serve `GET` @@ -88,8 +90,7 @@ useful to call middlewares or when many methods use the same collection of data. Optional `EndRequest(ctx)` function to perform any finalization after any method executed. -Inheritance, recursively, e.g. our [mvc session-controller example](https://github.com/kataras/iris/tree/master/_examples/mvc/session-controller), has the `Session *sessions.Session` as struct field which is filled by the sessions manager's `Start` as a dynamic dependency to the MVC Application: -`mvcApp.Register(sessions.New(sessions.Config{Cookie: "iris_session_id"}).Start)`. +Inheritance, recursively, e.g. our [mvc session-controller example](https://github.com/kataras/iris/tree/master/_examples/mvc/session-controller), has the `Session *sessions.Session` as struct field which is filled by the sessions manager. Access to the dynamic path parameters via the controller's methods' input arguments, no binding is needed. When you use the Iris' default syntax to parse handlers from a controller, you need to suffix the methods @@ -135,7 +136,7 @@ func(c *ExampleController) Get() string | mvc.Result or (mvc.Result, error) ``` -Where `mvc.Result` is a `hero.Result` type alias, which is this interface one: +Where `mvc.Result` is just a type alias of `hero.Result`: ```go type Result interface { @@ -146,8 +147,7 @@ type Result interface { ## Example -This example is equivalent to the -https://github.com/kataras/iris/blob/master/_examples/hello-world/main.go +This example is equivalent to a simple hello world application. It seems that additional code you have to write doesn't worth it but remember that, this example does not make use of iris mvc features like @@ -164,7 +164,7 @@ but you can choose what suits you best with Iris, low-level handlers: performance or high-level controllers: easier to maintain and smaller codebase on large applications. -**Read the comments very careful** +**Read the comments carefully** ```go package main @@ -312,6 +312,8 @@ The first comment states this is an [HTTP GET](https://www.w3schools.com/tags/re Controller knows how to handle the "name" on `GetBy` or the "name" and "numTimes" at `GetWelcomeBy`, because of the `By` keyword, and builds the dynamic route without boilerplate; the third comment specifies an [HTTP GET](https://www.w3schools.com/tags/ref_httpmethods.asp) dynamic method that is invoked by any URL that starts with "/helloworld/welcome" and followed by two more path parts, the first one can accept any value and the second can accept only numbers, i,e: "http://localhost:8080/helloworld/welcome/golang/32719", otherwise a [404 Not Found HTTP Error](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) will be sent to the client instead. -> The [_examples/mvc](https://github.com/kataras/iris/tree/master/_examples/mvc) and [mvc/controller_test.go](https://github.com/kataras/iris/blob/master/mvc/controller_test.go) files explain each feature with simple paradigms, they show how you can take advandage of the Iris MVC Binder, Iris MVC Models and many more... -> For websocket controller go ahead to the [[Websockets]] chapter instead. \ No newline at end of file +> The [_examples/mvc](https://github.com/kataras/iris/tree/master/_examples/mvc) and [mvc/controller_test.go](https://github.com/kataras/iris/blob/master/mvc/controller_test.go) files explain each feature with simple paradigms, they show how you can take advandage of the Iris MVC Binder, Iris MVC Models and more... + +> For websocket controller go ahead to the [[Websockets]] chapter instead. +> For gRPC controller go ahead to the [[gRPC]] chapter instead. \ No newline at end of file diff --git a/Model-validation.md b/Model-validation.md index 0086019..577bb96 100644 --- a/Model-validation.md +++ b/Model-validation.md @@ -1,9 +1,9 @@ -Iris, wisely, not features a builtin data validation. However, you are not limited. In this example we will learn how to use the [**go-playground/validator/v10**](https://github.com/go-playground/validator) for request values validation. +Iris, wisely, not features a builtin data validation. However, it does allow you to attach a validator which will automatically called on methods like `Context.ReadJSON, ReadXML...`. In this example we will learn how to use the [**go-playground/validator/v10**](https://github.com/go-playground/validator) for request body validation. -Check the full docs on tags usage [here](https://pkg.go.dev/github.com/go-playground/validator/v10@v10.2.0?tab=doc). +Check the full docs and the struct tags usage [here](https://pkg.go.dev/github.com/go-playground/validator/v10@v10.2.0?tab=doc). ```sh -$ go get github.com/go-playground/validator/v10 +$ go get github.com/go-playground/validator/v10@latest ``` Note that you need to set the corresponding binding tag on all fields you want to bind. For example, when binding from JSON, set `json:"fieldname"`. @@ -37,29 +37,26 @@ type Address struct { Phone string `json:"phone" validate:"required"` } -// Use a single instance of Validate, it caches struct info. -var validate *validator.Validate - func main() { - validate = validator.New() + // Use a single instance of Validate, it caches struct info. + v := validator.New() - // Register validation for 'User' + // Register a custom struct validation for 'User' // NOTE: only have to register a non-pointer type for 'User', validator // internally dereferences during it's type checks. - validate.RegisterStructValidation(UserStructLevelValidation, User{}) + v.RegisterStructValidation(UserStructLevelValidation, User{}) app := iris.New() + // Register the validator to the Iris Application. + app.Validator = v + app.Post("/user", func(ctx iris.Context) { var user User - if err := ctx.ReadJSON(&user); err != nil { - // [handle error...] - } // Returns InvalidValidationError for bad validation input, // nil or ValidationErrors ( []FieldError ) - err := validate.Struct(user) + err := vctx.ReadJSON(&user) if err != nil { - // This check is only needed when your code could produce // an invalid value for validation such as interface with nil // value most including myself do not usually have code like this. @@ -122,4 +119,4 @@ Example request of JSON form: } ``` -Example can be found at: . +Example can be found at: . diff --git a/Our-users.md b/Our-users.md index 7990cbe..ac17c5a 100644 --- a/Our-users.md +++ b/Our-users.md @@ -4,7 +4,11 @@ Simply edit this wiki page and add your own in a list-based form. --------------- -- https://www.cedato.com/ +- https://www.cedato.com - https://github.com/peterq/pan-light - https://mlog.club +- https://elta.ee +- https://wzd.dev +- https://anuncia.do - PUT YOUR PROJECT OR COMPANY HERE +https://github.com/eltaline/ctrl \ No newline at end of file diff --git a/Publications.md b/Publications.md index 45010d0..fc152a6 100644 --- a/Publications.md +++ b/Publications.md @@ -1,5 +1,6 @@ Prepare a cup of coffee or tea, whatever pleases you the most, and read some articles we found for you. +* [Go lang: MongoDB, Iris API](https://bit.ly/2TTtbYx) * [Golang Iris Web Course 2019](https://bit.ly/web-course-2019) * [How to write a Go API Part 1: A Webserver With Iris](https://bit.ly/32xmf4Q) * [How to write a Go API Part 2: Database Integration With GORM](https://bit.ly/34PvKxR) @@ -21,9 +22,8 @@ Prepare a cup of coffee or tea, whatever pleases you the most, and read some art | Description | Link | Author | Year | | -----------|-------------|-------------|-----| -| Web Course | https://bit.ly/web-course-2019 | TechMaster | **2019** | -| Quick Start with Iris | https://bit.ly/2wQIrJw | J-Secur1ty | **2019** | -| Installing Iris | https://bit.ly/2KhgB1J | WarnabiruTV | 2018 | +| Web Course | https://bit.ly/web-course-2019 | TechMaster | 2019 | +| Quick Start with Iris | https://bit.ly/2wQIrJw | J-Secur1ty | 2019 | | Iris & Mongo DB Complete | https://bit.ly/2IcXZOu | Musobar Media | 2018 | | Getting Started with Iris | https://bit.ly/2XGafMv | stephgdesign | 2018 | diff --git a/Response-recorder.md b/Response-recorder.md index 921fddb..af9e181 100644 --- a/Response-recorder.md +++ b/Response-recorder.md @@ -103,4 +103,4 @@ app.Get("/save", func(ctx iris.Context) { }) ``` -In addition to that, Iris provides a comprehensive API for **Transactions**. Learn more about it by running an [example](https://github.com/kataras/iris/blob/master/_examples/http_responsewriter/transactions/main.go). +In addition to that, Iris provides a comprehensive API for **Transactions**. Learn more about it by running an [example](https://github.com/kataras/iris/blob/master/_examples/response-writer/transactions/main.go). diff --git a/Routing-context-methods.md b/Routing-context-methods.md index 1ea266a..6a34801 100644 --- a/Routing-context-methods.md +++ b/Routing-context-methods.md @@ -4,899 +4,1091 @@ Here is a full list of methods that the `iris.Context` provides. ```go type Context interface { - // ResponseWriter returns an http.ResponseWriter compatible response writer, as expected. - ResponseWriter() ResponseWriter - // ResetResponseWriter should change or upgrade the Context's ResponseWriter. - ResetResponseWriter(ResponseWriter) + // BeginRequest is executing once for each request + // it should prepare the (new or acquired from pool) context's fields for the new request. + // Do NOT call it manually. Framework calls it automatically. + // + // Resets + // 1. handlers to nil. + // 2. values to empty. + // 3. the defer function. + // 4. response writer to the http.ResponseWriter. + // 5. request to the *http.Request. + BeginRequest(http.ResponseWriter, *http.Request) + // EndRequest is executing once after a response to the request was sent and this context is useless or released. + // Do NOT call it manually. Framework calls it automatically. + // + // 1. executes the Defer function (if any). + // 2. flushes the response writer's result or fire any error handler. + // 3. releases the response writer. + EndRequest() + // Defer executes a handler on this Context right before the request ends. + // The `StopExecution` does not effect the execution of this defer handler. + // The "h" runs before `FireErrorCode` (when response status code is not successful). + Defer(Handler) - // Request returns the original *http.Request, as expected. - Request() *http.Request - // ResetRequest sets the Context's Request, - // It is useful to store the new request created by a std *http.Request#WithContext() into Iris' Context. - // Use `ResetRequest` when for some reason you want to make a full - // override of the *http.Request. - // Note that: when you just want to change one of each fields you can use the Request() which returns a pointer to Request, - // so the changes will have affect without a full override. - // Usage: you use a native http handler which uses the standard "context" package - // to get values instead of the Iris' Context#Values(): - // r := ctx.Request() - // stdCtx := context.WithValue(r.Context(), key, val) - // ctx.ResetRequest(r.WithContext(stdCtx)). - ResetRequest(r *http.Request) + // ResponseWriter returns an http.ResponseWriter compatible response writer, as expected. + ResponseWriter() ResponseWriter + // ResetResponseWriter should change or upgrade the Context's ResponseWriter. + ResetResponseWriter(ResponseWriter) - // SetCurrentRouteName sets the route's name internally, - // in order to be able to find the correct current "read-only" Route when - // end-developer calls the `GetCurrentRoute()` function. - // It's being initialized by the Router, if you change that name - // manually nothing really happens except that you'll get other - // route via `GetCurrentRoute()`. - // Instead, to execute a different path - // from this context you should use the `Exec` function - // or change the handlers via `SetHandlers/AddHandler` functions. - SetCurrentRouteName(currentRouteName string) - // GetCurrentRoute returns the current registered "read-only" route that - // was being registered to this request's path. - GetCurrentRoute() RouteReadOnly + // Request returns the original *http.Request, as expected. + Request() *http.Request + // ResetRequest sets the Context's Request, + // It is useful to store the new request created by a std *http.Request#WithContext() into Iris' Context. + // Use `ResetRequest` when for some reason you want to make a full + // override of the *http.Request. + // Note that: when you just want to change one of each fields you can use the Request() which returns a pointer to Request, + // so the changes will have affect without a full override. + // Usage: you use a native http handler which uses the standard "context" package + // to get values instead of the Iris' Context#Values(): + // r := ctx.Request() + // stdCtx := context.WithValue(r.Context(), key, val) + // ctx.ResetRequest(r.WithContext(stdCtx)). + ResetRequest(r *http.Request) - // Do calls the SetHandlers(handlers) - // and executes the first handler, - // handlers should not be empty. - // - // It's used by the router, developers may use that - // to replace and execute handlers immediately. - Do(Handlers) + // SetCurrentRoutes sets the route internally, + // See `GetCurrentRoute()` method too. + // It's being initialized by the Router. + // See `Exec` or `SetHandlers/AddHandler` methods to simulate a request. + SetCurrentRoute(route RouteReadOnly) + // GetCurrentRoute returns the current "read-only" route that + // was registered to this request's path. + GetCurrentRoute() RouteReadOnly - // AddHandler can add handler(s) - // to the current request in serve-time, - // these handlers are not persistenced to the router. - // - // Router is calling this function to add the route's handler. - // If AddHandler called then the handlers will be inserted - // to the end of the already-defined route's handler. - // - AddHandler(...Handler) - // SetHandlers replaces all handlers with the new. - SetHandlers(Handlers) - // Handlers keeps tracking of the current handlers. - Handlers() Handlers + // Do calls the SetHandlers(handlers) + // and executes the first handler, + // handlers should not be empty. + // + // It's used by the router, developers may use that + // to replace and execute handlers immediately. + Do(Handlers) - // HandlerIndex sets the current index of the - // current context's handlers chain. - // If -1 passed then it just returns the - // current handler index without change the current index. - // - // Look Handlers(), Next() and StopExecution() too. - HandlerIndex(n int) (currentIndex int) - // Proceed is an alternative way to check if a particular handler - // has been executed and called the `ctx.Next` function inside it. - // This is useful only when you run a handler inside - // another handler. It justs checks for before index and the after index. - // - // A usecase example is when you want to execute a middleware - // inside controller's `BeginRequest` that calls the `ctx.Next` inside it. - // The Controller looks the whole flow (BeginRequest, method handler, EndRequest) - // as one handler, so `ctx.Next` will not be reflected to the method handler - // if called from the `BeginRequest`. - // - // Although `BeginRequest` should NOT be used to call other handlers, - // the `BeginRequest` has been introduced to be able to set - // common data to all method handlers before their execution. - // Controllers can accept middleware(s) from the MVC's Application's Router as normally. - // - // That said let's see an example of `ctx.Proceed`: - // - // var authMiddleware = basicauth.New(basicauth.Config{ - // Users: map[string]string{ - // "admin": "password", - // }, - // }) - // - // func (c *UsersController) BeginRequest(ctx iris.Context) { - // if !ctx.Proceed(authMiddleware) { - // ctx.StopExecution() - // } - // } - // This Get() will be executed in the same handler as `BeginRequest`, - // internally controller checks for `ctx.StopExecution`. - // So it will not be fired if BeginRequest called the `StopExecution`. - // func(c *UsersController) Get() []models.User { - // return c.Service.GetAll() - //} - // Alternative way is `!ctx.IsStopped()` if middleware make use of the `ctx.StopExecution()` on failure. - Proceed(Handler) bool - // HandlerName returns the current handler's name, helpful for debugging. - HandlerName() string - // HandlerFileLine returns the current running handler's function source file and line information. - // Useful mostly when debugging. - HandlerFileLine() (file string, line int) - // RouteName returns the route name that this handler is running on. - // Note that it will return empty on not found handlers. - RouteName() string - // Next calls all the next handler from the handlers chain, - // it should be used inside a middleware. - // - // Note: Custom context should override this method in order to be able to pass its own context.Context implementation. - Next() - // NextOr checks if chain has a next handler, if so then it executes it - // otherwise it sets a new chain assigned to this Context based on the given handler(s) - // and executes its first handler. - // - // Returns true if next handler exists and executed, otherwise false. - // - // Note that if no next handler found and handlers are missing then - // it sends a Status Not Found (404) to the client and it stops the execution. - NextOr(handlers ...Handler) bool - // NextOrNotFound checks if chain has a next handler, if so then it executes it - // otherwise it sends a Status Not Found (404) to the client and stops the execution. - // - // Returns true if next handler exists and executed, otherwise false. - NextOrNotFound() bool - // NextHandler returns (it doesn't execute) the next handler from the handlers chain. - // - // Use .Skip() to skip this handler if needed to execute the next of this returning handler. - NextHandler() Handler - // Skip skips/ignores the next handler from the handlers chain, - // it should be used inside a middleware. - Skip() - // StopExecution if called then the following .Next calls are ignored, - // as a result the next handlers in the chain will not be fire. - StopExecution() - // IsStopped checks and returns true if the current position of the Context is 255, - // means that the StopExecution() was called. - IsStopped() bool - // OnConnectionClose registers the "cb" function which will fire (on its own goroutine, no need to be registered goroutine by the end-dev) - // when the underlying connection has gone away. - // - // This mechanism can be used to cancel long operations on the server - // if the client has disconnected before the response is ready. - // - // It depends on the `http#CloseNotify`. - // CloseNotify may wait to notify until Request.Body has been - // fully read. - // - // After the main Handler has returned, there is no guarantee - // that the channel receives a value. - // - // Finally, it reports whether the protocol supports pipelines (HTTP/1.1 with pipelines disabled is not supported). - // The "cb" will not fire for sure if the output value is false. - // - // Note that you can register only one callback for the entire request handler chain/per route. - // - // Look the `ResponseWriter#CloseNotifier` for more. - OnConnectionClose(fnGoroutine func()) bool - // OnClose registers the callback function "cb" to the underline connection closing event using the `Context#OnConnectionClose` - // and also in the end of the request handler using the `ResponseWriter#SetBeforeFlush`. - // Note that you can register only one callback for the entire request handler chain/per route. - // - // Look the `Context#OnConnectionClose` and `ResponseWriter#SetBeforeFlush` for more. - OnClose(cb func()) + // AddHandler can add handler(s) + // to the current request in serve-time, + // these handlers are not persistenced to the router. + // + // Router is calling this function to add the route's handler. + // If AddHandler called then the handlers will be inserted + // to the end of the already-defined route's handler. + AddHandler(...Handler) + // SetHandlers replaces all handlers with the new. + SetHandlers(Handlers) + // Handlers keeps tracking of the current handlers. + Handlers() Handlers - // +------------------------------------------------------------+ - // | Current "user/request" storage | - // | and share information between the handlers - Values(). | - // | Save and get named path parameters - Params() | - // +------------------------------------------------------------+ + // HandlerIndex sets the current index of the + // current context's handlers chain. + // If n < 0 or the current handlers length is 0 then it just returns the + // current handler index without change the current index. + // + // Look Handlers(), Next() and StopExecution() too. + HandlerIndex(n int) (currentIndex int) + // Proceed is an alternative way to check if a particular handler + // has been executed and called the `ctx.Next` function inside it. + // This is useful only when you run a handler inside + // another handler. It justs checks for before index and the after index. + // + // A usecase example is when you want to execute a middleware + // inside controller's `BeginRequest` that calls the `ctx.Next` inside it. + // The Controller looks the whole flow (BeginRequest, method handler, EndRequest) + // as one handler, so `ctx.Next` will not be reflected to the method handler + // if called from the `BeginRequest`. + // + // Although `BeginRequest` should NOT be used to call other handlers, + // the `BeginRequest` has been introduced to be able to set + // common data to all method handlers before their execution. + // Controllers can accept middleware(s) from the MVC's Application's Router as normally. + // + // That said let's see an example of `ctx.Proceed`: + // + // var authMiddleware = basicauth.New(basicauth.Config{ + // Users: map[string]string{ + // "admin": "password", + // }, + // }) + // + // func (c *UsersController) BeginRequest(ctx iris.Context) { + // if !ctx.Proceed(authMiddleware) { + // ctx.StopExecution() + // } + // } + // This Get() will be executed in the same handler as `BeginRequest`, + // internally controller checks for `ctx.StopExecution`. + // So it will not be fired if BeginRequest called the `StopExecution`. + // func(c *UsersController) Get() []models.User { + // return c.Service.GetAll() + //} + // Alternative way is `!ctx.IsStopped()` if middleware make use of the `ctx.StopExecution()` on failure. + Proceed(Handler) bool + // HandlerName returns the current handler's name, helpful for debugging. + HandlerName() string + // HandlerFileLine returns the current running handler's function source file and line information. + // Useful mostly when debugging. + HandlerFileLine() (file string, line int) + // RouteName returns the route name that this handler is running on. + // Note that it will return empty on not found handlers. + RouteName() string + // Next calls all the next handler from the handlers chain, + // it should be used inside a middleware. + // + // Note: Custom context should override this method in order to be able to pass its own context.Context implementation. + Next() + // NextOr checks if chain has a next handler, if so then it executes it + // otherwise it sets a new chain assigned to this Context based on the given handler(s) + // and executes its first handler. + // + // Returns true if next handler exists and executed, otherwise false. + // + // Note that if no next handler found and handlers are missing then + // it sends a Status Not Found (404) to the client and it stops the execution. + NextOr(handlers ...Handler) bool + // NextOrNotFound checks if chain has a next handler, if so then it executes it + // otherwise it sends a Status Not Found (404) to the client and stops the execution. + // + // Returns true if next handler exists and executed, otherwise false. + NextOrNotFound() bool + // NextHandler returns (it doesn't execute) the next handler from the handlers chain. + // + // Use .Skip() to skip this handler if needed to execute the next of this returning handler. + NextHandler() Handler + // Skip skips/ignores the next handler from the handlers chain, + // it should be used inside a middleware. + Skip() + // StopExecution stops the handlers chain of this request. + // Meaning that any following `Next` calls are ignored, + // as a result the next handlers in the chain will not be fire. + StopExecution() + // IsStopped reports whether the current position of the context's handlers is -1, + // means that the StopExecution() was called at least once. + IsStopped() bool + // StopWithStatus stops the handlers chain and writes the "statusCode". + // + // If the status code is a failure one then + // it will also fire the specified error code handler. + StopWithStatus(statusCode int) + // StopWithText stops the handlers chain and writes the "statusCode" + // among with a message "plainText". + // + // If the status code is a failure one then + // it will also fire the specified error code handler. + StopWithText(statusCode int, plainText string) + // StopWithError stops the handlers chain and writes the "statusCode" + // among with the error "err". + // + // If the status code is a failure one then + // it will also fire the specified error code handler. + StopWithError(statusCode int, err error) + // StopWithJSON stops the handlers chain, writes the status code + // and sends a JSON response. + // + // If the status code is a failure one then + // it will also fire the specified error code handler. + StopWithJSON(statusCode int, jsonObject interface{}) + // StopWithProblem stops the handlers chain, writes the status code + // and sends an application/problem+json response. + // See `iris.NewProblem` to build a "problem" value correctly. + // + // If the status code is a failure one then + // it will also fire the specified error code handler. + StopWithProblem(statusCode int, problem Problem) - // Params returns the current url's named parameters key-value storage. - // Named path parameters are being saved here. - // This storage, as the whole Context, is per-request lifetime. - Params() *RequestParams + // OnConnectionClose registers the "cb" function which will fire (on its own goroutine, no need to be registered goroutine by the end-dev) + // when the underlying connection has gone away. + // + // This mechanism can be used to cancel long operations on the server + // if the client has disconnected before the response is ready. + // + // It depends on the `http#CloseNotify`. + // CloseNotify may wait to notify until Request.Body has been + // fully read. + // + // After the main Handler has returned, there is no guarantee + // that the channel receives a value. + // + // Finally, it reports whether the protocol supports pipelines (HTTP/1.1 with pipelines disabled is not supported). + // The "cb" will not fire for sure if the output value is false. + // + // Note that you can register only one callback for the entire request handler chain/per route. + // + // Look the `ResponseWriter#CloseNotifier` for more. + OnConnectionClose(fnGoroutine func()) bool + // OnClose registers the callback function "cb" to the underline connection closing event using the `Context#OnConnectionClose` + // and also in the end of the request handler using the `ResponseWriter#SetBeforeFlush`. + // Note that you can register only one callback for the entire request handler chain/per route. + // Note that the "cb" will only be called once. + // + // Look the `Context#OnConnectionClose` and `ResponseWriter#SetBeforeFlush` for more. + OnClose(cb func()) - // Values returns the current "user" storage. - // Named path parameters and any optional data can be saved here. - // This storage, as the whole Context, is per-request lifetime. - // - // You can use this function to Set and Get local values - // that can be used to share information between handlers and middleware. - Values() *memstore.Store + // +------------------------------------------------------------+ + // | Current "user/request" storage | + // | and share information between the handlers - Values(). | + // | Save and get named path parameters - Params() | + // +------------------------------------------------------------+ - // +------------------------------------------------------------+ - // | Path, Host, Subdomain, IP, Headers, Localization etc... | - // +------------------------------------------------------------+ + // Params returns the current url's named parameters key-value storage. + // Named path parameters are being saved here. + // This storage, as the whole Context, is per-request lifetime. + Params() *RequestParams - // Method returns the request.Method, the client's http method to the server. - Method() string - // Path returns the full request path, - // escaped if EnablePathEscape config field is true. - Path() string - // RequestPath returns the full request path, - // based on the 'escape'. - RequestPath(escape bool) string - // Host returns the host part of the current url. - Host() string - // Subdomain returns the subdomain of this request, if any. - // Note that this is a fast method which does not cover all cases. - Subdomain() (subdomain string) - // IsWWW returns true if the current subdomain (if any) is www. - IsWWW() bool - // FullRqeuestURI returns the full URI, - // including the scheme, the host and the relative requested path/resource. - FullRequestURI() string - // RemoteAddr tries to parse and return the real client's request IP. - // - // Based on allowed headers names that can be modified from Configuration.RemoteAddrHeaders. - // - // If parse based on these headers fail then it will return the Request's `RemoteAddr` field - // which is filled by the server before the HTTP handler. - // - // Look `Configuration.RemoteAddrHeaders`, - // `Configuration.WithRemoteAddrHeader(...)`, - // `Configuration.WithoutRemoteAddrHeader(...)` for more. - RemoteAddr() string - // GetHeader returns the request header's value based on its name. - GetHeader(name string) string - // IsAjax returns true if this request is an 'ajax request'( XMLHttpRequest) - // - // There is no a 100% way of knowing that a request was made via Ajax. - // You should never trust data coming from the client, they can be easily overcome by spoofing. - // - // Note that "X-Requested-With" Header can be modified by any client(because of "X-"), - // so don't rely on IsAjax for really serious stuff, - // try to find another way of detecting the type(i.e, content type), - // there are many blogs that describe these problems and provide different kind of solutions, - // it's always depending on the application you're building, - // this is the reason why this `IsAjax`` is simple enough for general purpose use. - // - // Read more at: https://developer.mozilla.org/en-US/docs/AJAX - // and https://xhr.spec.whatwg.org/ - IsAjax() bool - // IsMobile checks if client is using a mobile device(phone or tablet) to communicate with this server. - // If the return value is true that means that the http client using a mobile - // device to communicate with the server, otherwise false. - // - // Keep note that this checks the "User-Agent" request header. - IsMobile() bool - // GetReferrer extracts and returns the information from the "Referer" header as specified - // in https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy - // or by the URL query parameter "referer". - GetReferrer() Referrer - // GetLocale returns the current request's `Locale` found by i18n middleware. - // See `Tr` too. - GetLocale() Locale - // Tr returns a i18n localized message based on format with optional arguments. - // See `GetLocale` too. - // Example: https://github.com/kataras/iris/tree/master/_examples/i18n - Tr(format string, args ...interface{}) string + // Values returns the current "user" storage. + // Named path parameters and any optional data can be saved here. + // This storage, as the whole Context, is per-request lifetime. + // + // You can use this function to Set and Get local values + // that can be used to share information between handlers and middleware. + Values() *memstore.Store - // +------------------------------------------------------------+ - // | Headers helpers | - // +------------------------------------------------------------+ + // +------------------------------------------------------------+ + // | Path, Host, Subdomain, IP, Headers, Localization etc... | + // +------------------------------------------------------------+ - // Header adds a header to the response writer. - Header(name string, value string) + // Method returns the request.Method, the client's http method to the server. + Method() string + // Path returns the full request path, + // escaped if EnablePathEscape config field is true. + Path() string + // RequestPath returns the full request path, + // based on the 'escape'. + RequestPath(escape bool) string + // Host returns the host part of the current url. + Host() string + // Subdomain returns the subdomain of this request, if any. + // Note that this is a fast method which does not cover all cases. + Subdomain() (subdomain string) + // FindClosest returns a list of "n" paths close to + // this request based on subdomain and request path. + // + // Order may change. + // Example: https://github.com/kataras/iris/tree/master/_examples/routing/intelligence/manual + FindClosest(n int) []string + // IsWWW returns true if the current subdomain (if any) is www. + IsWWW() bool + // FullRqeuestURI returns the full URI, + // including the scheme, the host and the relative requested path/resource. + FullRequestURI() string + // RemoteAddr tries to parse and return the real client's request IP. + // + // Based on allowed headers names that can be modified from Configuration.RemoteAddrHeaders. + // + // If parse based on these headers fail then it will return the Request's `RemoteAddr` field + // which is filled by the server before the HTTP handler. + // + // Look `Configuration.RemoteAddrHeaders`, + // `Configuration.WithRemoteAddrHeader(...)`, + // `Configuration.WithoutRemoteAddrHeader(...)`and + // `Configuration.RemoteAddrPrivateSubnets` for more. + RemoteAddr() string + // GetHeader returns the request header's value based on its name. + GetHeader(name string) string + // GetDomain resolves and returns the server's domain. + GetDomain() string + // IsAjax returns true if this request is an 'ajax request'( XMLHttpRequest) + // + // There is no a 100% way of knowing that a request was made via Ajax. + // You should never trust data coming from the client, they can be easily overcome by spoofing. + // + // Note that "X-Requested-With" Header can be modified by any client(because of "X-"), + // so don't rely on IsAjax for really serious stuff, + // try to find another way of detecting the type(i.e, content type), + // there are many blogs that describe these problems and provide different kind of solutions, + // it's always depending on the application you're building, + // this is the reason why this `IsAjax`` is simple enough for general purpose use. + // + // Read more at: https://developer.mozilla.org/en-US/docs/AJAX + // and https://xhr.spec.whatwg.org/ + IsAjax() bool + // IsMobile checks if client is using a mobile device(phone or tablet) to communicate with this server. + // If the return value is true that means that the http client using a mobile + // device to communicate with the server, otherwise false. + // + // Keep note that this checks the "User-Agent" request header. + IsMobile() bool + // IsScript reports whether a client is a script. + IsScript() bool + // IsHTTP2 reports whether the protocol version for incoming request was HTTP/2. + // The client code always uses either HTTP/1.1 or HTTP/2. + IsHTTP2() bool + // IsGRPC reports whether the request came from a gRPC client. + IsGRPC() bool + // GetReferrer extracts and returns the information from the "Referrer" header as specified + // in https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy + // or by the URL query parameter "referrer". + GetReferrer() Referrer + // SetLanguage force-sets the language for i18n, can be used inside a middleare. + // It has the highest priority over the rest and if it is empty then it is ignored, + // if it set to a static string of "default" or to the default language's code + // then the rest of the language extractors will not be called at all and + // the default language will be set instead. + // + // See `app.I18n.ExtractFunc` for a more organised way of the same feature. + SetLanguage(langCode string) + // GetLocale returns the current request's `Locale` found by i18n middleware. + // See `Tr` too. + GetLocale() Locale + // Tr returns a i18n localized message based on format with optional arguments. + // See `GetLocale` too. + // Example: https://github.com/kataras/iris/tree/master/_examples/i18n + Tr(format string, args ...interface{}) string + // SetVersion force-sets the API Version integrated with the "iris/versioning" subpackage. + // It can be used inside a middleare. + SetVersion(constraint string) + // +------------------------------------------------------------+ + // | Headers helpers | + // +------------------------------------------------------------+ - // ContentType sets the response writer's header key "Content-Type" to the 'cType'. - ContentType(cType string) - // GetContentType returns the response writer's header value of "Content-Type" - // which may, set before with the 'ContentType'. - GetContentType() string - // GetContentType returns the request's header value of "Content-Type". - GetContentTypeRequested() string + // Header adds a header to the response writer. + Header(name string, value string) - // GetContentLength returns the request's header value of "Content-Length". - // Returns 0 if header was unable to be found or its value was not a valid number. - GetContentLength() int64 + // ContentType sets the response writer's header key "Content-Type" to the 'cType'. + ContentType(cType string) + // GetContentType returns the response writer's header value of "Content-Type" + // which may, set before with the 'ContentType'. + GetContentType() string + // GetContentType returns the request's header value of "Content-Type". + GetContentTypeRequested() string - // StatusCode sets the status code header to the response. - // Look .`GetStatusCode` too. - StatusCode(statusCode int) - // GetStatusCode returns the current status code of the response. - // Look `StatusCode` too. - GetStatusCode() int + // GetContentLength returns the request's header value of "Content-Length". + // Returns 0 if header was unable to be found or its value was not a valid number. + GetContentLength() int64 - // AbsoluteURI parses the "s" and returns its absolute URI form. - AbsoluteURI(s string) string - // Redirect sends a redirect response to the client - // to a specific url or relative path. - // accepts 2 parameters string and an optional int - // first parameter is the url to redirect - // second parameter is the http status should send, - // default is 302 (StatusFound), - // you can set it to 301 (Permant redirect) - // or 303 (StatusSeeOther) if POST method, - // or StatusTemporaryRedirect(307) if that's nessecery. - Redirect(urlToRedirect string, statusHeader ...int) - // +------------------------------------------------------------+ - // | Various Request and Post Data | - // +------------------------------------------------------------+ + // StatusCode sets the status code header to the response. + // Look .`GetStatusCode` too. + StatusCode(statusCode int) + // GetStatusCode returns the current status code of the response. + // Look `StatusCode` too. + GetStatusCode() int - // URLParam returns true if the url parameter exists, otherwise false. - URLParamExists(name string) bool - // URLParamDefault returns the get parameter from a request, - // if not found then "def" is returned. - URLParamDefault(name string, def string) string - // URLParam returns the get parameter from a request, if any. - URLParam(name string) string - // URLParamTrim returns the url query parameter with trailing white spaces removed from a request. - URLParamTrim(name string) string - // URLParamEscape returns the escaped url query parameter from a request. - URLParamEscape(name string) string - // URLParamInt returns the url query parameter as int value from a request, - // returns -1 and an error if parse failed. - URLParamInt(name string) (int, error) - // URLParamIntDefault returns the url query parameter as int value from a request, - // if not found or parse failed then "def" is returned. - URLParamIntDefault(name string, def int) int - // URLParamInt32Default returns the url query parameter as int32 value from a request, - // if not found or parse failed then "def" is returned. - URLParamInt32Default(name string, def int32) int32 - // URLParamInt64 returns the url query parameter as int64 value from a request, - // returns -1 and an error if parse failed. - URLParamInt64(name string) (int64, error) - // URLParamInt64Default returns the url query parameter as int64 value from a request, - // if not found or parse failed then "def" is returned. - URLParamInt64Default(name string, def int64) int64 - // URLParamFloat64 returns the url query parameter as float64 value from a request, - // returns -1 and an error if parse failed. - URLParamFloat64(name string) (float64, error) - // URLParamFloat64Default returns the url query parameter as float64 value from a request, - // if not found or parse failed then "def" is returned. - URLParamFloat64Default(name string, def float64) float64 - // URLParamBool returns the url query parameter as boolean value from a request, - // returns an error if parse failed or not found. - URLParamBool(name string) (bool, error) - // URLParams returns a map of GET query parameters separated by comma if more than one - // it returns an empty map if nothing found. - URLParams() map[string]string + // AbsoluteURI parses the "s" and returns its absolute URI form. + AbsoluteURI(s string) string + // Redirect sends a redirect response to the client + // to a specific url or relative path. + // accepts 2 parameters string and an optional int + // first parameter is the url to redirect + // second parameter is the http status should send, + // default is 302 (StatusFound), + // you can set it to 301 (Permant redirect) + // or 303 (StatusSeeOther) if POST method, + // or StatusTemporaryRedirect(307) if that's nessecery. + Redirect(urlToRedirect string, statusHeader ...int) + // +------------------------------------------------------------+ + // | Various Request and Post Data | + // +------------------------------------------------------------+ - // FormValueDefault returns a single parsed form value by its "name", - // including both the URL field's query parameters and the POST or PUT form data. - // - // Returns the "def" if not found. - FormValueDefault(name string, def string) string - // FormValue returns a single parsed form value by its "name", - // including both the URL field's query parameters and the POST or PUT form data. - FormValue(name string) string - // FormValues returns the parsed form data, including both the URL - // field's query parameters and the POST or PUT form data. - // - // The default form's memory maximum size is 32MB, it can be changed by the - // `iris#WithPostMaxMemory` configurator at main configuration passed on `app.Run`'s second argument. - // - // NOTE: A check for nil is necessary. - FormValues() map[string][]string + // URLParam returns true if the url parameter exists, otherwise false. + URLParamExists(name string) bool + // URLParamDefault returns the get parameter from a request, + // if not found then "def" is returned. + URLParamDefault(name string, def string) string + // URLParam returns the get parameter from a request, if any. + URLParam(name string) string + // URLParamTrim returns the url query parameter with trailing white spaces removed from a request. + URLParamTrim(name string) string + // URLParamEscape returns the escaped url query parameter from a request. + URLParamEscape(name string) string + // URLParamInt returns the url query parameter as int value from a request, + // returns -1 and an error if parse failed. + URLParamInt(name string) (int, error) + // URLParamIntDefault returns the url query parameter as int value from a request, + // if not found or parse failed then "def" is returned. + URLParamIntDefault(name string, def int) int + // URLParamInt32Default returns the url query parameter as int32 value from a request, + // if not found or parse failed then "def" is returned. + URLParamInt32Default(name string, def int32) int32 + // URLParamInt64 returns the url query parameter as int64 value from a request, + // returns -1 and an error if parse failed. + URLParamInt64(name string) (int64, error) + // URLParamInt64Default returns the url query parameter as int64 value from a request, + // if not found or parse failed then "def" is returned. + URLParamInt64Default(name string, def int64) int64 + // URLParamFloat64 returns the url query parameter as float64 value from a request, + // returns -1 and an error if parse failed. + URLParamFloat64(name string) (float64, error) + // URLParamFloat64Default returns the url query parameter as float64 value from a request, + // if not found or parse failed then "def" is returned. + URLParamFloat64Default(name string, def float64) float64 + // URLParamBool returns the url query parameter as boolean value from a request, + // returns an error if parse failed or not found. + URLParamBool(name string) (bool, error) + // URLParams returns a map of GET query parameters separated by comma if more than one + // it returns an empty map if nothing found. + URLParams() map[string]string - // PostValueDefault returns the parsed form data from POST, PATCH, - // or PUT body parameters based on a "name". - // - // If not found then "def" is returned instead. - PostValueDefault(name string, def string) string - // PostValue returns the parsed form data from POST, PATCH, - // or PUT body parameters based on a "name" - PostValue(name string) string - // PostValueTrim returns the parsed form data from POST, PATCH, - // or PUT body parameters based on a "name", without trailing spaces. - PostValueTrim(name string) string - // PostValueInt returns the parsed form data from POST, PATCH, - // or PUT body parameters based on a "name", as int. - // - // If not found returns -1 and a non-nil error. - PostValueInt(name string) (int, error) - // PostValueIntDefault returns the parsed form data from POST, PATCH, - // or PUT body parameters based on a "name", as int. - // - // If not found returns or parse errors the "def". - PostValueIntDefault(name string, def int) int - // PostValueInt64 returns the parsed form data from POST, PATCH, - // or PUT body parameters based on a "name", as float64. - // - // If not found returns -1 and a no-nil error. - PostValueInt64(name string) (int64, error) - // PostValueInt64Default returns the parsed form data from POST, PATCH, - // or PUT body parameters based on a "name", as int64. - // - // If not found or parse errors returns the "def". - PostValueInt64Default(name string, def int64) int64 - // PostValueInt64Default returns the parsed form data from POST, PATCH, - // or PUT body parameters based on a "name", as float64. - // - // If not found returns -1 and a non-nil error. - PostValueFloat64(name string) (float64, error) - // PostValueInt64Default returns the parsed form data from POST, PATCH, - // or PUT body parameters based on a "name", as float64. - // - // If not found or parse errors returns the "def". - PostValueFloat64Default(name string, def float64) float64 - // PostValueInt64Default returns the parsed form data from POST, PATCH, - // or PUT body parameters based on a "name", as bool. - // - // If not found or value is false, then it returns false, otherwise true. - PostValueBool(name string) (bool, error) - // PostValues returns all the parsed form data from POST, PATCH, - // or PUT body parameters based on a "name" as a string slice. - // - // The default form's memory maximum size is 32MB, it can be changed by the - // `iris#WithPostMaxMemory` configurator at main configuration passed on `app.Run`'s second argument. - PostValues(name string) []string - // FormFile returns the first uploaded file that received from the client. - // - // The default form's memory maximum size is 32MB, it can be changed by the - // `iris#WithPostMaxMemory` configurator at main configuration passed on `app.Run`'s second argument. - // - // Example: https://github.com/kataras/iris/tree/master/_examples/http_request/upload-file - FormFile(key string) (multipart.File, *multipart.FileHeader, error) - // UploadFormFiles uploads any received file(s) from the client - // to the system physical location "destDirectory". - // - // The second optional argument "before" gives caller the chance to - // modify the *miltipart.FileHeader before saving to the disk, - // it can be used to change a file's name based on the current request, - // all FileHeader's options can be changed. You can ignore it if - // you don't need to use this capability before saving a file to the disk. - // - // Note that it doesn't check if request body streamed. - // - // Returns the copied length as int64 and - // a not nil error if at least one new file - // can't be created due to the operating system's permissions or - // http.ErrMissingFile if no file received. - // - // If you want to receive & accept files and manage them manually you can use the `context#FormFile` - // instead and create a copy function that suits your needs, the below is for generic usage. - // - // The default form's memory maximum size is 32MB, it can be changed by the - // `iris#WithPostMaxMemory` configurator at main configuration passed on `app.Run`'s second argument. - // - // See `FormFile` to a more controlled to receive a file. - // - // - // Example: https://github.com/kataras/iris/tree/master/_examples/http_request/upload-files - UploadFormFiles(destDirectory string, before ...func(Context, *multipart.FileHeader)) (n int64, err error) + // FormValueDefault returns a single parsed form value by its "name", + // including both the URL field's query parameters and the POST or PUT form data. + // + // Returns the "def" if not found. + FormValueDefault(name string, def string) string + // FormValue returns a single parsed form value by its "name", + // including both the URL field's query parameters and the POST or PUT form data. + FormValue(name string) string + // FormValues returns the parsed form data, including both the URL + // field's query parameters and the POST or PUT form data. + // + // The default form's memory maximum size is 32MB, it can be changed by the + // `iris#WithPostMaxMemory` configurator at main configuration passed on `app.Run`'s second argument. + // + // NOTE: A check for nil is necessary. + FormValues() map[string][]string - // +------------------------------------------------------------+ - // | Custom HTTP Errors | - // +------------------------------------------------------------+ + // PostValueDefault returns the parsed form data from POST, PATCH, + // or PUT body parameters based on a "name". + // + // If not found then "def" is returned instead. + PostValueDefault(name string, def string) string + // PostValue returns the parsed form data from POST, PATCH, + // or PUT body parameters based on a "name" + PostValue(name string) string + // PostValueTrim returns the parsed form data from POST, PATCH, + // or PUT body parameters based on a "name", without trailing spaces. + PostValueTrim(name string) string + // PostValueInt returns the parsed form data from POST, PATCH, + // or PUT body parameters based on a "name", as int. + // + // If not found returns -1 and a non-nil error. + PostValueInt(name string) (int, error) + // PostValueIntDefault returns the parsed form data from POST, PATCH, + // or PUT body parameters based on a "name", as int. + // + // If not found returns or parse errors the "def". + PostValueIntDefault(name string, def int) int + // PostValueInt64 returns the parsed form data from POST, PATCH, + // or PUT body parameters based on a "name", as float64. + // + // If not found returns -1 and a no-nil error. + PostValueInt64(name string) (int64, error) + // PostValueInt64Default returns the parsed form data from POST, PATCH, + // or PUT body parameters based on a "name", as int64. + // + // If not found or parse errors returns the "def". + PostValueInt64Default(name string, def int64) int64 + // PostValueFloat64 returns the parsed form data from POST, PATCH, + // or PUT body parameters based on a "name", as float64. + // + // If not found returns -1 and a non-nil error. + PostValueFloat64(name string) (float64, error) + // PostValueFloat64Default returns the parsed form data from POST, PATCH, + // or PUT body parameters based on a "name", as float64. + // + // If not found or parse errors returns the "def". + PostValueFloat64Default(name string, def float64) float64 + // PostValueBool returns the parsed form data from POST, PATCH, + // or PUT body parameters based on a "name", as bool. + // + // If not found or value is false, then it returns false, otherwise true. + PostValueBool(name string) (bool, error) + // PostValues returns all the parsed form data from POST, PATCH, + // or PUT body parameters based on a "name" as a string slice. + // + // The default form's memory maximum size is 32MB, it can be changed by the + // `iris#WithPostMaxMemory` configurator at main configuration passed on `app.Run`'s second argument. + PostValues(name string) []string + // FormFile returns the first uploaded file that received from the client. + // + // The default form's memory maximum size is 32MB, it can be changed by the + // `iris#WithPostMaxMemory` configurator at main configuration passed on `app.Run`'s second argument. + // + // Example: https://github.com/kataras/iris/tree/master/_examples/file-server/upload-file + FormFile(key string) (multipart.File, *multipart.FileHeader, error) + // UploadFormFiles uploads any received file(s) from the client + // to the system physical location "destDirectory". + // + // The second optional argument "before" gives caller the chance to + // modify the *miltipart.FileHeader before saving to the disk, + // it can be used to change a file's name based on the current request, + // all FileHeader's options can be changed. You can ignore it if + // you don't need to use this capability before saving a file to the disk. + // + // Note that it doesn't check if request body streamed. + // + // Returns the copied length as int64 and + // a not nil error if at least one new file + // can't be created due to the operating system's permissions or + // http.ErrMissingFile if no file received. + // + // If you want to receive & accept files and manage them manually you can use the `context#FormFile` + // instead and create a copy function that suits your needs, the below is for generic usage. + // + // The default form's memory maximum size is 32MB, it can be changed by the + // `iris#WithPostMaxMemory` configurator at main configuration passed on `app.Run`'s second argument. + // + // See `FormFile` to a more controlled to receive a file. + // + // + // Example: https://github.com/kataras/iris/tree/master/_examples/file-server/upload-files + UploadFormFiles(destDirectory string, before ...func(Context, *multipart.FileHeader)) (n int64, err error) - // NotFound emits an error 404 to the client, using the specific custom error error handler. - // Note that you may need to call ctx.StopExecution() if you don't want the next handlers - // to be executed. Next handlers are being executed on iris because you can alt the - // error code and change it to a more specific one, i.e - // users := app.Party("/users") - // users.Done(func(ctx context.Context){ if ctx.StatusCode() == 400 { /* custom error code for /users */ }}) - NotFound() + // +------------------------------------------------------------+ + // | Custom HTTP Errors | + // +------------------------------------------------------------+ - // +------------------------------------------------------------+ - // | Body Readers | - // +------------------------------------------------------------+ + // NotFound emits an error 404 to the client, using the specific custom error error handler. + // Note that you may need to call ctx.StopExecution() if you don't want the next handlers + // to be executed. Next handlers are being executed on iris because you can alt the + // error code and change it to a more specific one, i.e + // users := app.Party("/users") + // users.Done(func(ctx context.Context){ if ctx.StatusCode() == 400 { /* custom error code for /users */ }}) + NotFound() - // SetMaxRequestBodySize sets a limit to the request body size - // should be called before reading the request body from the client. - SetMaxRequestBodySize(limitOverBytes int64) + // +------------------------------------------------------------+ + // | Body Readers | + // +------------------------------------------------------------+ - // GetBody reads and returns the request body. - // The default behavior for the http request reader is to consume the data readen - // but you can change that behavior by passing the `WithoutBodyConsumptionOnUnmarshal` iris option. - // - // However, whenever you can use the `ctx.Request().Body` instead. - GetBody() ([]byte, error) - // UnmarshalBody reads the request's body and binds it to a value or pointer of any type. - // Examples of usage: context.ReadJSON, context.ReadXML. - // - // Example: https://github.com/kataras/iris/blob/master/_examples/http_request/read-custom-via-unmarshaler/main.go - // - // UnmarshalBody does not check about gzipped data. - // Do not rely on compressed data incoming to your server. The main reason is: https://en.wikipedia.org/wiki/Zip_bomb - // However you are still free to read the `ctx.Request().Body io.Reader` manually. - UnmarshalBody(outPtr interface{}, unmarshaler Unmarshaler) error - // ReadJSON reads JSON from request's body and binds it to a pointer of a value of any json-valid type. - // - // Example: https://github.com/kataras/iris/blob/master/_examples/http_request/read-json/main.go - ReadJSON(jsonObjectPtr interface{}) error - // ReadXML reads XML from request's body and binds it to a pointer of a value of any xml-valid type. - // - // Example: https://github.com/kataras/iris/blob/master/_examples/http_request/read-xml/main.go - ReadXML(xmlObjectPtr interface{}) error - // ReadYAML reads YAML from request's body and binds it to the "outPtr" value. - // - // Example: https://github.com/kataras/iris/blob/master/_examples/http_request/read-yaml/main.go - ReadYAML(outPtr interface{}) error - // ReadForm binds the formObject with the form data - // it supports any kind of type, including custom structs. - // It will return nothing if request data are empty. - // The struct field tag is "form". - // - // Example: https://github.com/kataras/iris/blob/master/_examples/http_request/read-form/main.go - ReadForm(formObject interface{}) error - // ReadQuery binds the "ptr" with the url query string. The struct field tag is "url". - // - // Example: https://github.com/kataras/iris/blob/master/_examples/http_request/read-query/main.go - ReadQuery(ptr interface{}) error - // +------------------------------------------------------------+ - // | Body (raw) Writers | - // +------------------------------------------------------------+ + // SetMaxRequestBodySize sets a limit to the request body size + // should be called before reading the request body from the client. + SetMaxRequestBodySize(limitOverBytes int64) - // Write writes the data to the connection as part of an HTTP reply. - // - // If WriteHeader has not yet been called, Write calls - // WriteHeader(http.StatusOK) before writing the data. If the Header - // does not contain a Content-Type line, Write adds a Content-Type set - // to the result of passing the initial 512 bytes of written data to - // DetectContentType. - // - // Depending on the HTTP protocol version and the client, calling - // Write or WriteHeader may prevent future reads on the - // Request.Body. For HTTP/1.x requests, handlers should read any - // needed request body data before writing the response. Once the - // headers have been flushed (due to either an explicit Flusher.Flush - // call or writing enough data to trigger a flush), the request body - // may be unavailable. For HTTP/2 requests, the Go HTTP server permits - // handlers to continue to read the request body while concurrently - // writing the response. However, such behavior may not be supported - // by all HTTP/2 clients. Handlers should read before writing if - // possible to maximize compatibility. - Write(body []byte) (int, error) - // Writef formats according to a format specifier and writes to the response. - // - // Returns the number of bytes written and any write error encountered. - Writef(format string, args ...interface{}) (int, error) - // WriteString writes a simple string to the response. - // - // Returns the number of bytes written and any write error encountered. - WriteString(body string) (int, error) + // GetBody reads and returns the request body. + // The default behavior for the http request reader is to consume the data readen + // but you can change that behavior by passing the `WithoutBodyConsumptionOnUnmarshal` iris option. + // + // However, whenever you can use the `ctx.Request().Body` instead. + GetBody() ([]byte, error) + // UnmarshalBody reads the request's body and binds it to a value or pointer of any type. + // Examples of usage: context.ReadJSON, context.ReadXML. + // + // Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-custom-via-unmarshaler/main.go + // + // UnmarshalBody does not check about gzipped data. + // Do not rely on compressed data incoming to your server. The main reason is: https://en.wikipedia.org/wiki/Zip_bomb + // However you are still free to read the `ctx.Request().Body io.Reader` manually. + UnmarshalBody(outPtr interface{}, unmarshaler Unmarshaler) error + // ReadJSON reads JSON from request's body and binds it to a pointer of a value of any json-valid type. + // + // Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-json/main.go + ReadJSON(jsonObjectPtr interface{}) error + // ReadXML reads XML from request's body and binds it to a pointer of a value of any xml-valid type. + // + // Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-xml/main.go + ReadXML(xmlObjectPtr interface{}) error + // ReadYAML reads YAML from request's body and binds it to the "outPtr" value. + // + // Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-yaml/main.go + ReadYAML(outPtr interface{}) error + // ReadForm binds the request body of a form to the "formObject". + // It supports any kind of type, including custom structs. + // It will return nothing if request data are empty. + // The struct field tag is "form". + // Note that it will return nil error on empty form data if `Configuration.FireEmptyFormError` + // is false (as defaulted) in this case the caller should check the pointer to + // see if something was actually binded. + // + // Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-form/main.go + ReadForm(formObject interface{}) error + // ReadQuery binds url query to "ptr". The struct field tag is "url". + // + // Example: https://github.com/kataras/iris/blob/master/_examples/request-body/read-query/main.go + ReadQuery(ptr interface{}) error + // ReadProtobuf binds the body to the "ptr" of a proto Message and returns any error. + ReadProtobuf(ptr proto.Message) error + // ReadMsgPack binds the request body of msgpack format to the "ptr" and returns any error. + ReadMsgPack(ptr interface{}) error + // ReadBody binds the request body to the "ptr" depending on the HTTP Method and the Request's Content-Type. + // If a GET method request then it reads from a form (or URL Query), otherwise + // it tries to match (depending on the request content-type) the data format e.g. + // JSON, Protobuf, MsgPack, XML, YAML, MultipartForm and binds the result to the "ptr". + ReadBody(ptr interface{}) error - // SetLastModified sets the "Last-Modified" based on the "modtime" input. - // If "modtime" is zero then it does nothing. - // - // It's mostly internally on core/router and context packages. - // - // Note that modtime.UTC() is being used instead of just modtime, so - // you don't have to know the internals in order to make that works. - SetLastModified(modtime time.Time) - // CheckIfModifiedSince checks if the response is modified since the "modtime". - // Note that it has nothing to do with server-side caching. - // It does those checks by checking if the "If-Modified-Since" request header - // sent by client or a previous server response header - // (e.g with WriteWithExpiration or HandleDir or Favicon etc.) - // is a valid one and it's before the "modtime". - // - // A check for !modtime && err == nil is necessary to make sure that - // it's not modified since, because it may return false but without even - // had the chance to check the client-side (request) header due to some errors, - // like the HTTP Method is not "GET" or "HEAD" or if the "modtime" is zero - // or if parsing time from the header failed. - // - // It's mostly used internally, e.g. `context#WriteWithExpiration`. See `ErrPreconditionFailed` too. - // - // Note that modtime.UTC() is being used instead of just modtime, so - // you don't have to know the internals in order to make that works. - CheckIfModifiedSince(modtime time.Time) (bool, error) - // WriteNotModified sends a 304 "Not Modified" status code to the client, - // it makes sure that the content type, the content length headers - // and any "ETag" are removed before the response sent. - // - // It's mostly used internally on core/router/fs.go and context methods. - WriteNotModified() - // WriteWithExpiration works like `Write` but it will check if a resource is modified, - // based on the "modtime" input argument, - // otherwise sends a 304 status code in order to let the client-side render the cached content. - WriteWithExpiration(body []byte, modtime time.Time) (int, error) - // StreamWriter registers the given stream writer for populating - // response body. - // - // Access to context's and/or its' members is forbidden from writer. - // - // This function may be used in the following cases: - // - // * if response body is too big (more than iris.LimitRequestBodySize(if set)). - // * if response body is streamed from slow external sources. - // * if response body must be streamed to the client in chunks. - // (aka `http server push`). - // - // receives a function which receives the response writer - // and returns false when it should stop writing, otherwise true in order to continue - StreamWriter(writer func(w io.Writer) bool) + // +------------------------------------------------------------+ + // | Body (raw) Writers | + // +------------------------------------------------------------+ - // +------------------------------------------------------------+ - // | Body Writers with compression | - // +------------------------------------------------------------+ - // ClientSupportsGzip retruns true if the client supports gzip compression. - ClientSupportsGzip() bool - // WriteGzip accepts bytes, which are compressed to gzip format and sent to the client. - // returns the number of bytes written and an error ( if the client doesn' supports gzip compression) - // You may re-use this function in the same handler - // to write more data many times without any troubles. - WriteGzip(b []byte) (int, error) - // TryWriteGzip accepts bytes, which are compressed to gzip format and sent to the client. - // If client does not supprots gzip then the contents are written as they are, uncompressed. - TryWriteGzip(b []byte) (int, error) - // GzipResponseWriter converts the current response writer into a response writer - // which when its .Write called it compress the data to gzip and writes them to the client. - // - // Can be also disabled with its .Disable and .ResetBody to rollback to the usual response writer. - GzipResponseWriter() *GzipResponseWriter - // Gzip enables or disables (if enabled before) the gzip response writer,if the client - // supports gzip compression, so the following response data will - // be sent as compressed gzip data to the client. - Gzip(enable bool) + // Write writes the data to the connection as part of an HTTP reply. + // + // If WriteHeader has not yet been called, Write calls + // WriteHeader(http.StatusOK) before writing the data. If the Header + // does not contain a Content-Type line, Write adds a Content-Type set + // to the result of passing the initial 512 bytes of written data to + // DetectContentType. + // + // Depending on the HTTP protocol version and the client, calling + // Write or WriteHeader may prevent future reads on the + // Request.Body. For HTTP/1.x requests, handlers should read any + // needed request body data before writing the response. Once the + // headers have been flushed (due to either an explicit Flusher.Flush + // call or writing enough data to trigger a flush), the request body + // may be unavailable. For HTTP/2 requests, the Go HTTP server permits + // handlers to continue to read the request body while concurrently + // writing the response. However, such behavior may not be supported + // by all HTTP/2 clients. Handlers should read before writing if + // possible to maximize compatibility. + Write(body []byte) (int, error) + // Writef formats according to a format specifier and writes to the response. + // + // Returns the number of bytes written and any write error encountered. + Writef(format string, args ...interface{}) (int, error) + // WriteString writes a simple string to the response. + // + // Returns the number of bytes written and any write error encountered. + WriteString(body string) (int, error) - // +------------------------------------------------------------+ - // | Rich Body Content Writers/Renderers | - // +------------------------------------------------------------+ + // SetLastModified sets the "Last-Modified" based on the "modtime" input. + // If "modtime" is zero then it does nothing. + // + // It's mostly internally on core/router and context packages. + // + // Note that modtime.UTC() is being used instead of just modtime, so + // you don't have to know the internals in order to make that works. + SetLastModified(modtime time.Time) + // CheckIfModifiedSince checks if the response is modified since the "modtime". + // Note that it has nothing to do with server-side caching. + // It does those checks by checking if the "If-Modified-Since" request header + // sent by client or a previous server response header + // (e.g with WriteWithExpiration or HandleDir or Favicon etc.) + // is a valid one and it's before the "modtime". + // + // A check for !modtime && err == nil is necessary to make sure that + // it's not modified since, because it may return false but without even + // had the chance to check the client-side (request) header due to some errors, + // like the HTTP Method is not "GET" or "HEAD" or if the "modtime" is zero + // or if parsing time from the header failed. + // + // It's mostly used internally, e.g. `context#WriteWithExpiration`. See `ErrPreconditionFailed` too. + // + // Note that modtime.UTC() is being used instead of just modtime, so + // you don't have to know the internals in order to make that works. + CheckIfModifiedSince(modtime time.Time) (bool, error) + // WriteNotModified sends a 304 "Not Modified" status code to the client, + // it makes sure that the content type, the content length headers + // and any "ETag" are removed before the response sent. + // + // It's mostly used internally on core/router/fs.go and context methods. + WriteNotModified() + // WriteWithExpiration works like `Write` but it will check if a resource is modified, + // based on the "modtime" input argument, + // otherwise sends a 304 status code in order to let the client-side render the cached content. + WriteWithExpiration(body []byte, modtime time.Time) (int, error) + // StreamWriter registers the given stream writer for populating + // response body. + // + // Access to context's and/or its' members is forbidden from writer. + // + // This function may be used in the following cases: + // + // * if response body is too big (more than iris.LimitRequestBodySize(if set)). + // * if response body is streamed from slow external sources. + // * if response body must be streamed to the client in chunks. + // (aka `http server push`). + // + // receives a function which receives the response writer + // and returns false when it should stop writing, otherwise true in order to continue + StreamWriter(writer func(w io.Writer) bool) - // ViewLayout sets the "layout" option if and when .View - // is being called afterwards, in the same request. - // Useful when need to set or/and change a layout based on the previous handlers in the chain. - // - // Note that the 'layoutTmplFile' argument can be set to iris.NoLayout || view.NoLayout - // to disable the layout for a specific view render action, - // it disables the engine's configuration's layout property. - // - // Look .ViewData and .View too. - // - // Example: https://github.com/kataras/iris/tree/master/_examples/view/context-view-data/ - ViewLayout(layoutTmplFile string) - // ViewData saves one or more key-value pair in order to be passed if and when .View - // is being called afterwards, in the same request. - // Useful when need to set or/and change template data from previous hanadlers in the chain. - // - // If .View's "binding" argument is not nil and it's not a type of map - // then these data are being ignored, binding has the priority, so the main route's handler can still decide. - // If binding is a map or context.Map then these data are being added to the view data - // and passed to the template. - // - // After .View, the data are not destroyed, in order to be re-used if needed (again, in the same request as everything else), - // to clear the view data, developers can call: - // ctx.Set(ctx.Application().ConfigurationReadOnly().GetViewDataContextKey(), nil) - // - // If 'key' is empty then the value is added as it's (struct or map) and developer is unable to add other value. - // - // Look .ViewLayout and .View too. - // - // Example: https://github.com/kataras/iris/tree/master/_examples/view/context-view-data/ - ViewData(key string, value interface{}) - // GetViewData returns the values registered by `context#ViewData`. - // The return value is `map[string]interface{}`, this means that - // if a custom struct registered to ViewData then this function - // will try to parse it to map, if failed then the return value is nil - // A check for nil is always a good practise if different - // kind of values or no data are registered via `ViewData`. - // - // Similarly to `viewData := ctx.Values().Get("iris.viewData")` or - // `viewData := ctx.Values().Get(ctx.Application().ConfigurationReadOnly().GetViewDataContextKey())`. - GetViewData() map[string]interface{} - // View renders a template based on the registered view engine(s). - // First argument accepts the filename, relative to the view engine's Directory and Extension, - // i.e: if directory is "./templates" and want to render the "./templates/users/index.html" - // then you pass the "users/index.html" as the filename argument. - // - // The second optional argument can receive a single "view model" - // that will be binded to the view template if it's not nil, - // otherwise it will check for previous view data stored by the `ViewData` - // even if stored at any previous handler(middleware) for the same request. - // - // Look .ViewData` and .ViewLayout too. - // - // Examples: https://github.com/kataras/iris/tree/master/_examples/view - View(filename string, optionalViewModel ...interface{}) error + // +------------------------------------------------------------+ + // | Body Writers with compression | + // +------------------------------------------------------------+ + // ClientSupportsGzip retruns true if the client supports gzip compression. + ClientSupportsGzip() bool + // WriteGzip accepts bytes, which are compressed to gzip format and sent to the client. + // returns the number of bytes written and an error ( if the client doesn' supports gzip compression) + // You may re-use this function in the same handler + // to write more data many times without any troubles. + WriteGzip(b []byte) (int, error) + // TryWriteGzip accepts bytes, which are compressed to gzip format and sent to the client. + // If client does not supprots gzip then the contents are written as they are, uncompressed. + TryWriteGzip(b []byte) (int, error) + // GzipResponseWriter converts the current response writer into a response writer + // which when its .Write called it compress the data to gzip and writes them to the client. + // + // Can be also disabled with its .Disable and .ResetBody to rollback to the usual response writer. + GzipResponseWriter() *GzipResponseWriter + // Gzip enables or disables (if enabled before) the gzip response writer,if the client + // supports gzip compression, so the following response data will + // be sent as compressed gzip data to the client. + Gzip(enable bool) + // GzipReader accepts a boolean, which, if set to true + // it wraps the request body reader with a gzip reader one (decompress request data on read). + // If the "enable" input argument is false then the request body will reset to the default one. + // + // Useful when incoming request data are gzip compressed. + // All future calls of `ctx.GetBody/ReadXXX/UnmarshalBody` methods will respect this option. + // + // Usage: + // app.Use(func(ctx iris.Context){ + // ctx.GzipReader(true) + // ctx.Next() + // }) + // + // If a client request's body is not gzip compressed then + // it returns with a `ErrGzipNotSupported` error, which can be safety ignored. + // + // See `GzipReader` package-level middleware too. + GzipReader(enable bool) error - // Binary writes out the raw bytes as binary data. - Binary(data []byte) (int, error) - // Text writes out a string as plain text. - Text(format string, args ...interface{}) (int, error) - // HTML writes out a string as text/html. - HTML(format string, args ...interface{}) (int, error) - // JSON marshals the given interface object and writes the JSON response. - JSON(v interface{}, options ...JSON) (int, error) - // JSONP marshals the given interface object and writes the JSON response. - JSONP(v interface{}, options ...JSONP) (int, error) - // XML marshals the given interface object and writes the XML response. - // To render maps as XML see the `XMLMap` package-level function. - XML(v interface{}, options ...XML) (int, error) - // Problem writes a JSON or XML problem response. - // Order of Problem fields are not always rendered the same. - // - // Behaves exactly like `Context.JSON` - // but with default ProblemOptions.JSON indent of " " and - // a response content type of "application/problem+json" instead. - // - // Use the options.RenderXML and XML fields to change this behavior and - // send a response of content type "application/problem+xml" instead. - // - // Read more at: https://github.com/kataras/iris/wiki/Routing-error-handlers - Problem(v interface{}, opts ...ProblemOptions) (int, error) - // Markdown parses the markdown to html and renders its result to the client. - Markdown(markdownB []byte, options ...Markdown) (int, error) - // YAML parses the "v" using the yaml parser and renders its result to the client. - YAML(v interface{}) (int, error) + // +------------------------------------------------------------+ + // | Rich Body Content Writers/Renderers | + // +------------------------------------------------------------+ - // +-----------------------------------------------------------------------+ - // | Content Νegotiation | - // | https://developer.mozilla.org/en-US/docs/Web/HTTP/Content_negotiation | | - // +-----------------------------------------------------------------------+ + // ViewLayout sets the "layout" option if and when .View + // is being called afterwards, in the same request. + // Useful when need to set or/and change a layout based on the previous handlers in the chain. + // + // Note that the 'layoutTmplFile' argument can be set to iris.NoLayout || view.NoLayout + // to disable the layout for a specific view render action, + // it disables the engine's configuration's layout property. + // + // Look .ViewData and .View too. + // + // Example: https://github.com/kataras/iris/tree/master/_examples/view/context-view-data/ + ViewLayout(layoutTmplFile string) + // ViewData saves one or more key-value pair in order to be passed if and when .View + // is being called afterwards, in the same request. + // Useful when need to set or/and change template data from previous hanadlers in the chain. + // + // If .View's "binding" argument is not nil and it's not a type of map + // then these data are being ignored, binding has the priority, so the main route's handler can still decide. + // If binding is a map or context.Map then these data are being added to the view data + // and passed to the template. + // + // After .View, the data are not destroyed, in order to be re-used if needed (again, in the same request as everything else), + // to clear the view data, developers can call: + // ctx.Set(ctx.Application().ConfigurationReadOnly().GetViewDataContextKey(), nil) + // + // If 'key' is empty then the value is added as it's (struct or map) and developer is unable to add other value. + // + // Look .ViewLayout and .View too. + // + // Example: https://github.com/kataras/iris/tree/master/_examples/view/context-view-data/ + ViewData(key string, value interface{}) + // GetViewData returns the values registered by `context#ViewData`. + // The return value is `map[string]interface{}`, this means that + // if a custom struct registered to ViewData then this function + // will try to parse it to map, if failed then the return value is nil + // A check for nil is always a good practise if different + // kind of values or no data are registered via `ViewData`. + // + // Similarly to `viewData := ctx.Values().Get("iris.viewData")` or + // `viewData := ctx.Values().Get(ctx.Application().ConfigurationReadOnly().GetViewDataContextKey())`. + GetViewData() map[string]interface{} + // View renders a template based on the registered view engine(s). + // First argument accepts the filename, relative to the view engine's Directory and Extension, + // i.e: if directory is "./templates" and want to render the "./templates/users/index.html" + // then you pass the "users/index.html" as the filename argument. + // + // The second optional argument can receive a single "view model" + // that will be binded to the view template if it's not nil, + // otherwise it will check for previous view data stored by the `ViewData` + // even if stored at any previous handler(middleware) for the same request. + // + // Look .ViewData` and .ViewLayout too. + // + // Examples: https://github.com/kataras/iris/tree/master/_examples/view + View(filename string, optionalViewModel ...interface{}) error - // Negotiation creates once and returns the negotiation builder - // to build server-side available content for specific mime type(s) - // and charset(s). - // - // See `Negotiate` method too. - Negotiation() *NegotiationBuilder - // Negotiate used for serving different representations of a resource at the same URI. - // - // The "v" can be a single `N` struct value. - // The "v" can be any value completes the `ContentSelector` interface. - // The "v" can be any value completes the `ContentNegotiator` interface. - // The "v" can be any value of struct(JSON, JSONP, XML, YAML) or - // string(TEXT, HTML) or []byte(Markdown, Binary) or []byte with any matched mime type. - // - // If the "v" is nil, the `Context.Negotitation()` builder's - // content will be used instead, otherwise "v" overrides builder's content - // (server mime types are still retrieved by its registered, supported, mime list) - // - // Set mime type priorities by `Negotiation().JSON().XML().HTML()...`. - // Set charset priorities by `Negotiation().Charset(...)`. - // Set encoding algorithm priorities by `Negotiation().Encoding(...)`. - // Modify the accepted by - // `Negotiation().Accept./Override()/.XML().JSON().Charset(...).Encoding(...)...`. - // - // It returns `ErrContentNotSupported` when not matched mime type(s). - // - // Resources: - // https://developer.mozilla.org/en-US/docs/Web/HTTP/Content_negotiation - // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept - // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Charset - // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding - // - // Supports the above without quality values. - // - // Read more at: https://github.com/kataras/iris/wiki/Content-negotiation - Negotiate(v interface{}) (int, error) + // Binary writes out the raw bytes as binary data. + Binary(data []byte) (int, error) + // Text writes out a string as plain text. + Text(format string, args ...interface{}) (int, error) + // HTML writes out a string as text/html. + HTML(format string, args ...interface{}) (int, error) + // JSON marshals the given interface object and writes the JSON response. + JSON(v interface{}, options ...JSON) (int, error) + // JSONP marshals the given interface object and writes the JSON response. + JSONP(v interface{}, options ...JSONP) (int, error) + // XML marshals the given interface object and writes the XML response. + // To render maps as XML see the `XMLMap` package-level function. + XML(v interface{}, options ...XML) (int, error) + // Problem writes a JSON or XML problem response. + // Order of Problem fields are not always rendered the same. + // + // Behaves exactly like `Context.JSON` + // but with default ProblemOptions.JSON indent of " " and + // a response content type of "application/problem+json" instead. + // + // Use the options.RenderXML and XML fields to change this behavior and + // send a response of content type "application/problem+xml" instead. + // + // Read more at: https://github.com/kataras/iris/wiki/Routing-error-handlers + Problem(v interface{}, opts ...ProblemOptions) (int, error) + // Markdown parses the markdown to html and renders its result to the client. + Markdown(markdownB []byte, options ...Markdown) (int, error) + // YAML parses the "v" using the yaml parser and renders its result to the client. + YAML(v interface{}) (int, error) + // Protobuf parses the "v" of proto Message and renders its result to the client. + Protobuf(v proto.Message) (int, error) + // MsgPack parses the "v" of msgpack format and renders its result to the client. + MsgPack(v interface{}) (int, error) - // +------------------------------------------------------------+ - // | Serve files | - // +------------------------------------------------------------+ + // +-----------------------------------------------------------------------+ + // | Content Νegotiation | + // | https://developer.mozilla.org/en-US/docs/Web/HTTP/Content_negotiation | | + // +-----------------------------------------------------------------------+ - // ServeContent serves content, headers are autoset - // receives three parameters, it's low-level function, instead you can use .ServeFile(string,bool)/SendFile(string,string) - // - // - // You can define your own "Content-Type" with `context#ContentType`, before this function call. - // - // This function doesn't support resuming (by range), - // use ctx.SendFile or router's `HandleDir` instead. - ServeContent(content io.ReadSeeker, filename string, modtime time.Time, gzipCompression bool) error - // ServeFile serves a file (to send a file, a zip for example to the client you should use the `SendFile` instead) - // receives two parameters - // filename/path (string) - // gzipCompression (bool) - // - // You can define your own "Content-Type" with `context#ContentType`, before this function call. - // - // This function doesn't support resuming (by range), - // use ctx.SendFile or router's `HandleDir` instead. - // - // Use it when you want to serve dynamic files to the client. - ServeFile(filename string, gzipCompression bool) error - // SendFile sends file for force-download to the client - // - // Use this instead of ServeFile to 'force-download' bigger files to the client. - SendFile(filename string, destinationName string) error + // Negotiation creates once and returns the negotiation builder + // to build server-side available content for specific mime type(s) + // and charset(s). + // + // See `Negotiate` method too. + Negotiation() *NegotiationBuilder + // Negotiate used for serving different representations of a resource at the same URI. + // + // The "v" can be a single `N` struct value. + // The "v" can be any value completes the `ContentSelector` interface. + // The "v" can be any value completes the `ContentNegotiator` interface. + // The "v" can be any value of struct(JSON, JSONP, XML, YAML) or + // string(TEXT, HTML) or []byte(Markdown, Binary) or []byte with any matched mime type. + // + // If the "v" is nil, the `Context.Negotitation()` builder's + // content will be used instead, otherwise "v" overrides builder's content + // (server mime types are still retrieved by its registered, supported, mime list) + // + // Set mime type priorities by `Negotiation().JSON().XML().HTML()...`. + // Set charset priorities by `Negotiation().Charset(...)`. + // Set encoding algorithm priorities by `Negotiation().Encoding(...)`. + // Modify the accepted by + // `Negotiation().Accept./Override()/.XML().JSON().Charset(...).Encoding(...)...`. + // + // It returns `ErrContentNotSupported` when not matched mime type(s). + // + // Resources: + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Content_negotiation + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Charset + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding + // + // Supports the above without quality values. + // + // Read more at: https://github.com/kataras/iris/wiki/Content-negotiation + Negotiate(v interface{}) (int, error) - // +------------------------------------------------------------+ - // | Cookies | - // +------------------------------------------------------------+ + // +------------------------------------------------------------+ + // | Serve files | + // +------------------------------------------------------------+ - // SetCookie adds a cookie. - // Use of the "options" is not required, they can be used to amend the "cookie". - // - // Example: https://github.com/kataras/iris/tree/master/_examples/cookies/basic - SetCookie(cookie *http.Cookie, options ...CookieOption) - // SetCookieKV adds a cookie, requires the name(string) and the value(string). - // - // By default it expires at 2 hours and it's added to the root path, - // use the `CookieExpires` and `CookiePath` to modify them. - // Alternatively: ctx.SetCookie(&http.Cookie{...}) - // - // If you want to set custom the path: - // ctx.SetCookieKV(name, value, iris.CookiePath("/custom/path/cookie/will/be/stored")) - // - // If you want to be visible only to current request path: - // ctx.SetCookieKV(name, value, iris.CookieCleanPath/iris.CookiePath("")) - // More: - // iris.CookieExpires(time.Duration) - // iris.CookieHTTPOnly(false) - // - // Example: https://github.com/kataras/iris/tree/master/_examples/cookies/basic - SetCookieKV(name, value string, options ...CookieOption) - // GetCookie returns cookie's value by its name - // returns empty string if nothing was found. - // - // If you want more than the value then: - // cookie, err := ctx.Request().Cookie("name") - // - // Example: https://github.com/kataras/iris/tree/master/_examples/cookies/basic - GetCookie(name string, options ...CookieOption) string - // RemoveCookie deletes a cookie by its name and path = "/". - // Tip: change the cookie's path to the current one by: RemoveCookie("name", iris.CookieCleanPath) - // - // Example: https://github.com/kataras/iris/tree/master/_examples/cookies/basic - RemoveCookie(name string, options ...CookieOption) - // VisitAllCookies accepts a visitor function which is called - // on each (request's) cookies' name and value. - VisitAllCookies(visitor func(name string, value string)) + // ServeContent replies to the request using the content in the + // provided ReadSeeker. The main benefit of ServeContent over io.Copy + // is that it handles Range requests properly, sets the MIME type, and + // handles If-Match, If-Unmodified-Since, If-None-Match, If-Modified-Since, + // and If-Range requests. + // + // If the response's Content-Type header is not set, ServeContent + // first tries to deduce the type from name's file extension. + // + // The name is otherwise unused; in particular it can be empty and is + // never sent in the response. + // + // If modtime is not the zero time or Unix epoch, ServeContent + // includes it in a Last-Modified header in the response. If the + // request includes an If-Modified-Since header, ServeContent uses + // modtime to decide whether the content needs to be sent at all. + // + // The content's Seek method must work: ServeContent uses + // a seek to the end of the content to determine its size. + // + // If the caller has set w's ETag header formatted per RFC 7232, section 2.3, + // ServeContent uses it to handle requests using If-Match, If-None-Match, or If-Range. + // + // Note that *os.File implements the io.ReadSeeker interface. + // Note that gzip compression can be registered through `ctx.Gzip(true)` or `app.Use(iris.Gzip)`. + ServeContent(content io.ReadSeeker, filename string, modtime time.Time) + // ServeContentWithRate same as `ServeContent` but it can throttle the speed of reading + // and though writing the "content" to the client. + ServeContentWithRate(content io.ReadSeeker, filename string, modtime time.Time, limit float64, burst int) + // ServeFile replies to the request with the contents of the named + // file or directory. + // + // If the provided file or directory name is a relative path, it is + // interpreted relative to the current directory and may ascend to + // parent directories. If the provided name is constructed from user + // input, it should be sanitized before calling `ServeFile`. + // + // Use it when you want to serve assets like css and javascript files. + // If client should confirm and save the file use the `SendFile` instead. + // Note that gzip compression can be registered through `ctx.Gzip(true)` or `app.Use(iris.Gzip)`. + ServeFile(filename string) error + // ServeFileWithRate same as `ServeFile` but it can throttle the speed of reading + // and though writing the file to the client. + ServeFileWithRate(filename string, limit float64, burst int) error + // SendFile sends a file as an attachment, that is downloaded and saved locally from client. + // Note that gzip compression can be registered through `ctx.Gzip(true)` or `app.Use(iris.Gzip)`. + // Use `ServeFile` if a file should be served as a page asset instead. + SendFile(filename string, destinationName string) error + // SendFileWithRate same as `SendFile` but it can throttle the speed of reading + // and though writing the file to the client. + SendFileWithRate(src, destName string, limit float64, burst int) error - // MaxAge returns the "cache-control" request header's value - // seconds as int64 - // if header not found or parse failed then it returns -1. - MaxAge() int64 + // +------------------------------------------------------------+ + // | Cookies | + // +------------------------------------------------------------+ - // +------------------------------------------------------------+ - // | Advanced: Response Recorder and Transactions | - // +------------------------------------------------------------+ + // AddCookieOptions adds cookie options for `SetCookie`, + // `SetCookieKV, UpsertCookie` and `RemoveCookie` methods + // for the current request. It can be called from a middleware before + // cookies sent or received from the next Handler in the chain. + // See `ClearCookieOptions` too. + // + // Available builtin Cookie options are: + // * CookieAllowReclaim + // * CookieAllowSubdomains + // * CookieSecure + // * CookieHTTPOnly + // * CookieSameSite + // * CookiePath + // * CookieCleanPath + // * CookieExpires + // * CookieEncoding + // + // Example at: https://github.com/kataras/iris/tree/master/_examples/cookies/securecookie + AddCookieOptions(options ...CookieOption) + // ClearCookieOptions clears any previously registered cookie options. + // See `AddCookieOptions` too. + ClearCookieOptions() + // SetCookie adds a cookie. + // Use of the "options" is not required, they can be used to amend the "cookie". + // + // Example: https://github.com/kataras/iris/tree/master/_examples/cookies/basic + SetCookie(cookie *http.Cookie, options ...CookieOption) + // UpsertCookie adds a cookie to the response like `SetCookie` does + // but it will also perform a replacement of the cookie + // if already set by a previous `SetCookie` call. + // It reports whether the cookie is new (true) or an existing one was updated (false). + UpsertCookie(cookie *http.Cookie, options ...CookieOption) bool + // SetCookieKV adds a cookie, requires the name(string) and the value(string). + // + // By default it expires at 2 hours and it's added to the root path, + // use the `CookieExpires` and `CookiePath` to modify them. + // Alternatively: ctx.SetCookie(&http.Cookie{...}) + // + // If you want to set custom the path: + // ctx.SetCookieKV(name, value, iris.CookiePath("/custom/path/cookie/will/be/stored")) + // + // If you want to be visible only to current request path: + // ctx.SetCookieKV(name, value, iris.CookieCleanPath/iris.CookiePath("")) + // More: + // iris.CookieExpires(time.Duration) + // iris.CookieHTTPOnly(false) + // + // Example: https://github.com/kataras/iris/tree/master/_examples/cookies/basic + SetCookieKV(name, value string, options ...CookieOption) + // GetCookie returns cookie's value by its name + // returns empty string if nothing was found. + // + // If you want more than the value then: + // cookie, err := ctx.Request().Cookie("name") + // + // Example: https://github.com/kataras/iris/tree/master/_examples/cookies/basic + GetCookie(name string, options ...CookieOption) string + // RemoveCookie deletes a cookie by its name and path = "/". + // Tip: change the cookie's path to the current one by: RemoveCookie("name", iris.CookieCleanPath) + // + // Example: https://github.com/kataras/iris/tree/master/_examples/cookies/basic + RemoveCookie(name string, options ...CookieOption) + // VisitAllCookies accepts a visitor function which is called + // on each (request's) cookies' name and value. + VisitAllCookies(visitor func(name string, value string)) - // Record transforms the context's basic and direct responseWriter to a ResponseRecorder - // which can be used to reset the body, reset headers, get the body, - // get & set the status code at any time and more. - Record() - // Recorder returns the context's ResponseRecorder - // if not recording then it starts recording and returns the new context's ResponseRecorder - Recorder() *ResponseRecorder - // IsRecording returns the response recorder and a true value - // when the response writer is recording the status code, body, headers and so on, - // else returns nil and false. - IsRecording() (*ResponseRecorder, bool) + // MaxAge returns the "cache-control" request header's value + // seconds as int64 + // if header not found or parse failed then it returns -1. + MaxAge() int64 - // BeginTransaction starts a scoped transaction. - // - // You can search third-party articles or books on how Business Transaction works (it's quite simple, especially here). - // - // Note that this is unique and new - // (=I haver never seen any other examples or code in Golang on this subject, so far, as with the most of iris features...) - // it's not covers all paths, - // such as databases, this should be managed by the libraries you use to make your database connection, - // this transaction scope is only for context's response. - // Transactions have their own middleware ecosystem also, look iris.go:UseTransaction. - // - // See https://github.com/kataras/iris/tree/master/_examples/ for more - BeginTransaction(pipe func(t *Transaction)) - // SkipTransactions if called then skip the rest of the transactions - // or all of them if called before the first transaction - SkipTransactions() - // TransactionsSkipped returns true if the transactions skipped or canceled at all. - TransactionsSkipped() bool + // +------------------------------------------------------------+ + // | Advanced: Response Recorder and Transactions | + // +------------------------------------------------------------+ - // Exec calls the `context/Application#ServeCtx` - // based on this context but with a changed method and path - // like it was requested by the user, but it is not. - // - // Offline means that the route is registered to the iris and have all features that a normal route has - // BUT it isn't available by browsing, its handlers executed only when other handler's context call them - // it can validate paths, has sessions, path parameters and all. - // - // You can find the Route by app.GetRoute("theRouteName") - // you can set a route name as: myRoute := app.Get("/mypath", handler)("theRouteName") - // that will set a name to the route and returns its RouteInfo instance for further usage. - // - // It doesn't changes the global state, if a route was "offline" it remains offline. - // - // app.None(...) and app.GetRoutes().Offline(route)/.Online(route, method) - // - // Example: https://github.com/kataras/iris/tree/master/_examples/routing/route-state - // - // User can get the response by simple using rec := ctx.Recorder(); rec.Body()/rec.StatusCode()/rec.Header(). - // - // Context's Values and the Session are kept in order to be able to communicate via the result route. - // - // It's for extreme use cases, 99% of the times will never be useful for you. - Exec(method, path string) + // Record transforms the context's basic and direct responseWriter to a ResponseRecorder + // which can be used to reset the body, reset headers, get the body, + // get & set the status code at any time and more. + Record() + // Recorder returns the context's ResponseRecorder + // if not recording then it starts recording and returns the new context's ResponseRecorder + Recorder() *ResponseRecorder + // IsRecording returns the response recorder and a true value + // when the response writer is recording the status code, body, headers and so on, + // else returns nil and false. + IsRecording() (*ResponseRecorder, bool) - // RouteExists reports whether a particular route exists - // It will search from the current subdomain of context's host, if not inside the root domain. - RouteExists(method, path string) bool + // BeginTransaction starts a scoped transaction. + // + // You can search third-party articles or books on how Business Transaction works (it's quite simple, especially here). + // + // Note that this is unique and new + // (=I haver never seen any other examples or code in Golang on this subject, so far, as with the most of iris features...) + // it's not covers all paths, + // such as databases, this should be managed by the libraries you use to make your database connection, + // this transaction scope is only for context's response. + // Transactions have their own middleware ecosystem also, look iris.go:UseTransaction. + // + // See https://github.com/kataras/iris/tree/master/_examples/ for more + BeginTransaction(pipe func(t *Transaction)) + // SkipTransactions if called then skip the rest of the transactions + // or all of them if called before the first transaction + SkipTransactions() + // TransactionsSkipped returns true if the transactions skipped or canceled at all. + TransactionsSkipped() bool - // Application returns the iris app instance which belongs to this context. - // Worth to notice that this function returns an interface - // of the Application, which contains methods that are safe - // to be executed at serve-time. The full app's fields - // and methods are not available here for the developer's safety. - Application() Application + // Exec calls the `context/Application#ServeCtx` + // based on this context but with a changed method and path + // like it was requested by the user, but it is not. + // + // Offline means that the route is registered to the iris and have all features that a normal route has + // BUT it isn't available by browsing, its handlers executed only when other handler's context call them + // it can validate paths, has sessions, path parameters and all. + // + // You can find the Route by app.GetRoute("theRouteName") + // you can set a route name as: myRoute := app.Get("/mypath", handler)("theRouteName") + // that will set a name to the route and returns its RouteInfo instance for further usage. + // + // It doesn't changes the global state, if a route was "offline" it remains offline. + // + // app.None(...) and app.GetRoutes().Offline(route)/.Online(route, method) + // + // Example: https://github.com/kataras/iris/tree/master/_examples/routing/route-state + // + // User can get the response by simple using rec := ctx.Recorder(); rec.Body()/rec.StatusCode()/rec.Header(). + // + // Context's Values and the Session are kept in order to be able to communicate via the result route. + // + // It's for extreme use cases, 99% of the times will never be useful for you. + Exec(method, path string) - // String returns the string representation of this request. - // Each context has a unique string representation. - // It can be used for simple debugging scenarios, i.e print context as string. - // - // What it returns? A number which declares the length of the - // total `String` calls per executable application, followed - // by the remote IP (the client) and finally the method:url. - String() string + // RouteExists reports whether a particular route exists + // It will search from the current subdomain of context's host, if not inside the root domain. + RouteExists(method, path string) bool + + // ReflectValue caches and returns a []reflect.Value{reflect.ValueOf(ctx)}. + // It's just a helper to maintain variable inside the context itself. + ReflectValue() []reflect.Value + // Controller returns a reflect Value of the custom Controller from which this handler executed. + // It will return a Kind() == reflect.Invalid if the handler was not executed from within a controller. + Controller() reflect.Value + // RegisterDependency registers a struct dependency at serve-time + // for the next handler in the chain. One value per type. + // Note that it's highly recommended to register + // your dependencies before server ran + // through APIContainer(app.ConfigureContainer) or MVC(mvc.New) + // in sake of minimum performance cost. + // + // See `UnRegisterDependency` too. + RegisterDependency(v interface{}) + // UnRegisterDependency removes a dependency based on its type. + // Reports whether a dependency with that type was found and removed successfully. + // + // See `RegisterDependency` too. + UnRegisterDependency(typ reflect.Type) bool + + // Application returns the iris app instance which belongs to this context. + // Worth to notice that this function returns an interface + // of the Application, which contains methods that are safe + // to be executed at serve-time. The full app's fields + // and methods are not available here for the developer's safety. + Application() Application + + // SetID sets an ID, any value, to the Request Context. + // If possible the "id" should implement a `String() string` method + // so it can be rendered on `Context.String` method. + // + // See `GetID` and `middleware/requestid` too. + SetID(id interface{}) + // GetID returns the Request Context's ID. + // It returns nil if not given by a prior `SetID` call. + // See `middleware/requestid` too. + GetID() interface{} + // String returns the string representation of this request. + // + // It returns the Context's ID given by a `SetID`call, + // followed by the client's IP and the method:uri. + String() string } ``` diff --git a/Routing-error-handlers.md b/Routing-error-handlers.md index dea2cff..baa5e8f 100644 --- a/Routing-error-handlers.md +++ b/Routing-error-handlers.md @@ -1,6 +1,6 @@ # Error handlers -You can define your own handlers when a specific http error code occurs. +You can define your own handlers when a specific http error code occurs. Error handlers can be registered per `Party`. Error codes are the http status codes that are bigger than or equal to 400, like 404 not found and 500 internal server error. @@ -13,13 +13,15 @@ import "github.com/kataras/iris/v12" func main(){ app := iris.New() + app.RegisterView(iris.HTML("./views", ".html")) + app.OnErrorCode(iris.StatusNotFound, notFound) app.OnErrorCode(iris.StatusInternalServerError, internalServerError) - // to register a handler for all "error" - // status codes(kataras/iris/context.StatusCodeNotSuccessful) - // defaults to < 200 || >= 400: + // to register a handler for all error codes: // app.OnAnyErrorCode(handler) + app.Get("/", index) + app.Listen(":8080") } @@ -54,6 +56,18 @@ func index(ctx iris.Context) { > Learn more about [[View]]. +Iris has the `EnablePathIntelligence` option which can be passed to `app.Run/Listen` method to auto-redirect a not found path to its closest match one, e.g `"http://localhost:8080/contac"` to `"http://localhost:8080/contact"`. Enable it: + +```go +app.Listen(":8080", iris.WithPathIntelligence) +``` + +You can also force all paths to be lowercased by setting the `ForceLowercaseRouting` option: + +```go +app.Listen(":8080", iris.WithLowercaseRouting, iris.WithPathIntelligence) +``` + ## The Problem type Iris has builtin support for the [Problem Details for HTTP APIs](https://tools.ietf.org/html/rfc7807). diff --git a/Routing-middleware.md b/Routing-middleware.md index 4420a35..6c94fe5 100644 --- a/Routing-middleware.md +++ b/Routing-middleware.md @@ -124,9 +124,9 @@ Iris, unlike others, is 100% compatible with the standards and that's why the ma Any third-party middleware that written for `net/http` is compatible with Iris using the `iris.FromStd(aThirdPartyMiddleware)`. Remember, `ctx.ResponseWriter()` and `ctx.Request()` returns the same `net/http` input arguments of an [http.Handler](https://golang.org/pkg/net/http/#Handler). -- [From func(w http.ResponseWriter, r *http.Request, next http.HandlerFunc)](convert-handlers/negroni-like/main.go) -- [From http.Handler or http.HandlerFunc](convert-handlers/nethttp/main.go) -- [From func(http.HandlerFunc) http.HandlerFunc](convert-handlers/real-usecase-raven/writing-middleware/main.go) +- [From func(w http.ResponseWriter, r *http.Request, next http.HandlerFunc)](https://github.com/kataras/iris/tree/master/_examples/convert-handlers/negroni-like/main.go) +- [From http.Handler or http.HandlerFunc](https://github.com/kataras/iris/tree/master/_examplesconvert-handlers/nethttp/main.go) +- [From func(http.HandlerFunc) http.HandlerFunc](https://github.com/kataras/iris/tree/master/_examplesconvert-handlers/real-usecase-raven/writing-middleware/main.go) --------------------- Here is a list of some handlers made specifically for Iris: @@ -135,26 +135,50 @@ Here is a list of some handlers made specifically for Iris: | Middleware | Example | | -----------|-------------| -| [basic authentication](https://github.com/kataras/iris/tree/master/middleware/basicauth) | [iris/_examples/authentication/basicauth](https://github.com/kataras/iris/tree/master/_examples/authentication/basicauth) | -| [request logger](https://github.com/kataras/iris/tree/master/middleware/logger) | [iris/_examples/http_request/request-logger](https://github.com/kataras/iris/tree/master/_examples/http_request/request-logger) | +| [basic authentication](https://github.com/kataras/iris/tree/master/middleware/basicauth) | [iris/_examples/auth/basicauth](https://github.com/kataras/iris/tree/master/_examples/auth/basicauth) | +| [request logger](https://github.com/kataras/iris/tree/master/middleware/logger) | [iris/_examples/logging/request-logger](https://github.com/kataras/iris/tree/master/_examples/logging/request-logger) | | [HTTP method override](https://github.com/kataras/iris/tree/master/middleware/methodoverride) | [iris/middleware/methodoverride/methodoverride_test.go](https://github.com/kataras/iris/blob/master/middleware/methodoverride/methodoverride_test.go) | -| [profiling (pprof)](https://github.com/kataras/iris/tree/master/middleware/pprof) | [iris/_examples/miscellaneous/pprof](https://github.com/kataras/iris/tree/master/_examples/miscellaneous/pprof) | -| [Google reCAPTCHA](https://github.com/kataras/iris/tree/master/middleware/recaptcha) | [iris/_examples/miscellaneous/recaptcha](https://github.com/kataras/iris/tree/master/_examples/miscellaneous/recaptcha) | -| [recovery](https://github.com/kataras/iris/tree/master/middleware/recover) | [iris/_examples/miscellaneous/recover](https://github.com/kataras/iris/tree/master/_examples/miscellaneous/recover) | +| [profiling (pprof)](https://github.com/kataras/iris/tree/master/middleware/pprof) | [iris/_examples/pprof](https://github.com/kataras/iris/tree/master/_examples/pprof) | +| [Google reCAPTCHA](https://github.com/kataras/iris/tree/master/middleware/recaptcha) | [iris/_examples/auth/recaptcha](https://github.com/kataras/iris/tree/master/_examples/auth/recaptcha) | +| [hCaptcha](https://github.com/kataras/iris/tree/master/middleware/hcaptcha) | [iris/_examples/auth/recaptcha](https://github.com/kataras/iris/tree/master/_examples/auth/hcaptcha) | +| [recovery](https://github.com/kataras/iris/tree/master/middleware/recover) | [iris/_examples/recover](https://github.com/kataras/iris/tree/master/_examples/recover) | +| [rate](https://github.com/kataras/iris/tree/master/middleware/rate) | [iris/_examples/request-ratelimit](https://github.com/kataras/iris/tree/master/_examples/request-ratelimit) | +| [jwt](https://github.com/kataras/iris/tree/master/middleware/jwt) | [iris/_examples/auth/jwt](https://github.com/kataras/iris/tree/master/_examples/auth/jwt) | +| [requestid](https://github.com/kataras/iris/tree/master/middleware/requestid) | [iris/middleware/requestid/requestid_test.go](https://github.com/kataras/iris/blob/master/_examples/middleware/requestid/requestid_test.go) | -## Community made - -Most of the experimental handlers are ported to work with _iris_'s handler form, from third-party sources. +## Community | Middleware | Description | Example | | -----------|--------|-------------| -| [jwt](https://github.com/iris-contrib/middleware/tree/master/jwt) | Middleware checks for a JWT on the `Authorization` header on incoming requests and decodes it. | [iris-contrib/middleware/jwt/_example](https://github.com/iris-contrib/middleware/tree/master/jwt/_example) | -| [cors](https://github.com/iris-contrib/middleware/tree/master/cors) | HTTP Access Control. | [iris-contrib/middleware/cors/_example](https://github.com/iris-contrib/middleware/tree/master/cors/_example) | -| [secure](https://github.com/iris-contrib/middleware/tree/master/secure) | Middleware that implements a few quick security wins. | [iris-contrib/middleware/secure/_example](https://github.com/iris-contrib/middleware/tree/master/secure/_example/main.go) | -| [tollbooth](https://github.com/iris-contrib/middleware/tree/master/tollboothic) | Generic middleware to rate-limit HTTP requests. | [iris-contrib/middleware/tollbooth/_examples/limit-handler](https://github.com/iris-contrib/middleware/tree/master/tollbooth/_examples/limit-handler) | -| [cloudwatch](https://github.com/iris-contrib/middleware/tree/master/cloudwatch) | AWS cloudwatch metrics middleware. |[iris-contrib/middleware/cloudwatch/_example](https://github.com/iris-contrib/middleware/tree/master/cloudwatch/_example) | -| [new relic](https://github.com/iris-contrib/middleware/tree/master/newrelic) | Official [New Relic Go Agent](https://github.com/newrelic/go-agent). | [iris-contrib/middleware/newrelic/_example](https://github.com/iris-contrib/middleware/tree/master/newrelic/_example) | +| [jwt](https://github.com/iris-contrib/middleware/tree/master/jwt) | Middleware checks for a JWT on the `Authorization` header on incoming requests and decodes it | [iris-contrib/middleware/jwt/_example](https://github.com/iris-contrib/middleware/tree/master/jwt/_example) | +| [cors](https://github.com/iris-contrib/middleware/tree/master/cors) | HTTP Access Control | [iris-contrib/middleware/cors/_example](https://github.com/iris-contrib/middleware/tree/master/cors/_example) | +| [secure](https://github.com/iris-contrib/middleware/tree/master/secure) | Middleware that implements a few quick security wins | [iris-contrib/middleware/secure/_example](https://github.com/iris-contrib/middleware/tree/master/secure/_example/main.go) | +| [tollbooth](https://github.com/iris-contrib/middleware/tree/master/tollboothic) | Generic middleware to rate-limit HTTP requests | [iris-contrib/middleware/tollboothic/_examples/limit-handler](https://github.com/iris-contrib/middleware/tree/master/tollboothic/_examples/limit-handler) | +| [cloudwatch](https://github.com/iris-contrib/middleware/tree/master/cloudwatch) | AWS cloudwatch metrics middleware |[iris-contrib/middleware/cloudwatch/_example](https://github.com/iris-contrib/middleware/tree/master/cloudwatch/_example) | +| [new relic](https://github.com/iris-contrib/middleware/tree/master/newrelic) | Official [New Relic Go Agent](https://github.com/newrelic/go-agent) | [iris-contrib/middleware/newrelic/_example](https://github.com/iris-contrib/middleware/tree/master/newrelic/_example) | | [prometheus](https://github.com/iris-contrib/middleware/tree/master/prometheus)| Easily create metrics endpoint for the [prometheus](http://prometheus.io) instrumentation tool | [iris-contrib/middleware/prometheus/_example](https://github.com/iris-contrib/middleware/tree/master/prometheus/_example) | | [casbin](https://github.com/iris-contrib/middleware/tree/master/casbin)| An authorization library that supports access control models like ACL, RBAC, ABAC | [iris-contrib/middleware/casbin/_examples](https://github.com/iris-contrib/middleware/tree/master/casbin/_examples) | | [raven](https://github.com/iris-contrib/middleware/tree/master/raven)| Sentry client in Go | [iris-contrib/middleware/raven/_example](https://github.com/iris-contrib/middleware/blob/master/raven/_example/main.go) | | [csrf](https://github.com/iris-contrib/middleware/tree/master/csrf)| Cross-Site Request Forgery Protection | [iris-contrib/middleware/csrf/_example](https://github.com/iris-contrib/middleware/blob/master/csrf/_example/main.go) | +| [go-i18n](https://github.com/iris-contrib/middleware/tree/master/go-i18n)| i18n Iris Loader for nicksnyder/go-i18n | [iris-contrib/middleware/go-i18n/_example](https://github.com/iris-contrib/middleware/blob/master/go-i18n/_example/main.go) | +| [throttler](https://github.com/iris-contrib/middleware/tree/master/throttler)| Rate limiting access to HTTP endpoints | [iris-contrib/middleware/throttler/_example](https://github.com/iris-contrib/middleware/blob/master/throttler/_example/main.go) | + +## Third-Party + +Iris has its own middleware form of `func(ctx iris.Context)` but it's also compatible with all `net/http` middleware forms. See [here](https://github.com/kataras/iris/tree/master/_examples/convert-handlers). + +Here's a small list of useful third-party handlers: + +| Middleware | Description | +| -----------|-------------| +| [goth](https://github.com/markbates/goth) | OAuth, OAuth2 authentication. [Example](https://github.com/kataras/iris/tree/master/_examples/auth/goth) | +| [permissions2](https://github.com/xyproto/permissions2) | Cookies, users and permissions. [Example](https://github.com/kataras/iris/tree/master/_examples/auth/permissions) | +| [csp](https://github.com/awakenetworks/csp) | [Content Security Policy](https://www.w3.org/TR/CSP2/) (CSP) support | +| [delay](https://github.com/jeffbmartinez/delay) | Add delays/latency to endpoints. Useful when testing effects of high latency | +| [onthefly](https://github.com/xyproto/onthefly) | Generate TinySVG, HTML and CSS on the fly | +| [RestGate](https://github.com/pjebs/restgate) | Secure authentication for REST API endpoints | +| [stats](https://github.com/thoas/stats) | Store information about your web application (response time, etc.) | +| [VanGoH](https://github.com/auroratechnologies/vangoh) | Configurable [AWS-Style](http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html) HMAC authentication middleware | +| [digits](https://github.com/bamarni/digits) | Middleware that handles [Twitter Digits](https://get.digits.com/) authentication | + +> Feel free to put up your own middleware in this list! \ No newline at end of file diff --git a/Routing-wrap-the-router.md b/Routing-wrap-the-router.md index 5df9243..984f14d 100644 --- a/Routing-wrap-the-router.md +++ b/Routing-wrap-the-router.md @@ -49,12 +49,12 @@ func newApp() *iris.Application { ctx.HTML("Resource Not found") }) + app.HandleDir("/", "./public") + app.Get("/profile/{username}", func(ctx iris.Context) { ctx.Writef("Hello %s", ctx.Params().Get("username")) }) - app.HandleDir("/", "./public") - myOtherHandler := func(ctx iris.Context) { ctx.Writef("inside a handler which is fired manually by our custom router wrapper") } @@ -71,8 +71,8 @@ func newApp() *iris.Application { if strings.HasPrefix(path, "/other") { // acquire and release a context in order to use it to execute // our custom handler - // remember: we use net/http.Handler because here - // we are in the "low-level", before the router itself. + // remember: if you are going to call just a net/http middleware + // then you DONT have to acquire and release the context here. ctx := app.ContextPool.Acquire(w, r) myOtherHandler(ctx) app.ContextPool.Release(ctx) @@ -104,4 +104,4 @@ func main() { } ``` -There is not much to say here, it's just a function wrapper which accepts the native response writer and request and the next handler which is the Iris' Router itself, it's being or not executed whether is called or not, **it's a middleware for the whole Router**. \ No newline at end of file +There is not much to say here, it's just a function wrapper which accepts the native response writer and request and the next handler which is the Iris' Router itself, it's being or not executed whether is called or not, **it's a middleware for the whole Router**. diff --git a/Sitemap.md b/Sitemap.md index 2e69db2..8f472cb 100644 --- a/Sitemap.md +++ b/Sitemap.md @@ -17,7 +17,7 @@ app.Get("/home", handler).SetLastMod(time.Now()).SetChangeFreq("hourly").SetPrio > A static route is exposed on GET HTTP Method and its path does not contain a dynamic parameter. e.g. /home, /about but not /user/{id:uint64} and e.t.c. -See it in action, download and run the **example** from: https://github.com/kataras/iris/tree/master/_examples/sitemap +See it in action, download and run the **example** from: https://github.com/kataras/iris/tree/master/_examples/routing/sitemap If the application **is localized** then `iris.WithSitemap` will add `xhtml:link` XML elements to the sitemap file for each translation language as recommended at: https://support.google.com/webmasters/answer/189077?hl=en. Read more about it at the [[Localization]] section. diff --git a/Starter-kits.md b/Starter-kits.md index 8f3099f..4d74342 100644 --- a/Starter-kits.md +++ b/Starter-kits.md @@ -1,6 +1,8 @@ | Project | Description | Stars | Author | | --------|-------------|-------|--------| -| [peterq/pan-light](https://bit.ly/33qfKlt) | Baidu network disk unlimited speed client, golang + qt5, cross-platform graphical interface | 9936 | @peterq | +| [peterq/pan-light](https://bit.ly/33qfKlt) | Baidu network disk unlimited speed client, golang + qt5, cross-platform graphical interface | 10460 | @peterq | +| [eltaline/wzd](https://github.com/eltaline/wzd) | wZD is a powerful storage and database server, designed for big data storage systems with small and large files for mixed use and dramatically reduces count of small files for extend abilities any normal or clustered POSIX compatible file systems | 68 | @eltaline | +| [eltaline/ctrl](https://github.com/eltaline/ctrl) | cTRL is a server for remote execution of pending tasks and commands in real time, supporting a queue with continuous thread limiting and throttling | 2 | @eltaline | | [mlogclub/bbs-go](https://bit.ly/2PXcgmp) | Golang-based community system | 527 | @mlogclub | | [snowlyg/IrisApiProject](https://bit.ly/2IaL1R6) | Iris + gorm + JWT + sqlite3 | 359 | @snowlyg | | [mohuishou/scuplus-go](https://bit.ly/34H6Jol) | WeChat applet Backend API | 62 | @mohuishou | diff --git a/_Footer.md b/_Footer.md index 9f367db..51718a7 100644 --- a/_Footer.md +++ b/_Footer.md @@ -1,4 +1,4 @@ [[Home]] *|* [[About]] *|* [[Project|Project-and-community]] *|* [[Getting Started]] *|* -[Technical Docs](https://godoc.org/github.com/kataras/iris) *|* Copyright © 2019 Gerasimos Maropoulos. [[Documentation terms of use|Documentation-terms-and-conditions]]. +[Technical Docs](https://godoc.org/github.com/kataras/iris) *|* Copyright © 2019-2020 Gerasimos Maropoulos. [[Documentation terms of use|Documentation-terms-and-conditions]]. diff --git a/_Sidebar.md b/_Sidebar.md index 82753c2..b0f6ecc 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -35,6 +35,7 @@ * [[Websockets]] * [[Dependency Injection|Dependency-Injection]] * [[MVC]] +* [[gRPC]] * [[Sitemap]] * [[Localization]] * [[Testing]] diff --git a/_assets/grpc-compatible-question.png b/_assets/grpc-compatible-question.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ad8bb080bdfb703ef385eb0515d5a9aac2de82 GIT binary patch literal 53213 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 diff --git a/_assets/hero-2-monokai.png b/_assets/hero-2-monokai.png deleted file mode 100644 index 975ffe1049cc8e4446f2ce535204200791495103..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212648 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ǘR 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

O@8HuW5RA#;YxU zM(5(R*UFV}3uv7=a3aRwJYoX{6qWEHF{U93#-vSI#BzFa#X*Z6QrHk&R$%{;Ng!rm zkpwfPS<4MQJr%8y1aSNk4g#pnAtRAU3iNvR!9d9*g(QNToE!90AWtLh7vqe*7~@G9 zwy_e89E7VZi3G&9ve|r-o9nqqLWV>N9xf1r98QD|9gyJ`>dI%~9}6>*{{$%%cfbus z(vk1DO4IZG1kb5^dG9>cOCH-i@Y_66=PS;qkY#Mn8s&7Nyn2|+ZHW6RXLHGH_pz0V z`}YIcrTNTk<9=ZG4sWyj?TS~fIToeIq=J9645z;ocC{Zfn}Tm|pu>uof4y(E(ygZ6 zH12c;!sc&{e{ZdE$K@?ehkHw=16gKGoPJawNpN7Yl>PP&`yq!C<>WC)QYfd{*2XMR(FRQZy-b9BI;=QS=gHCgPf zhv#&oLyy?cviPxZ6oXGv=s!DcvmfTevF3A|i_;_5UKYxXQW_FiGI1GW>Wa3I=~nAB z1alo4dviO-P}5xt^~)alS2KUVvD@n8w|1zOS=N5>O5wDssO&7l?C+OPQIc$(lQ#r- z#lDn66UR{Q$1^VT6eZUTSu}o(I>;0+UC^kK31K&N(KK zJ`+|qv&j5?{s|C+UvmJb^=3V+)hU1THOg-amLO-lE?e}d!^`8k9M8t@5V?)v{-*Z; zuOBTj{|4%5XRZ-d?7r4x1>u}?C1OQ?=$<=8IfHBJrrReT1HldG;_ThK_2@M<=Xgp| zmvXlK5_@Kn?GTWf;}i4E{6#>E^f?q0v~{<;YOg0*#QeJj%Xn68IQNW1gFX+Z=!Pxv zd3^O3;5iKswPk0gXwaB)5_RDgGUj=Nqjv19;h9Ws4|m_}WyXl)wxN+Ju1<1@yLFae zpb76n$#FET(-hI`Tu;h%!_fC_1%qRjDO$P3KbiafYVFMJ>e8oEr|nT31lMmLtq4iq zJznj*&>t`E*ZWB2h6_YLjgx_dQo%7i$;czJl9G~yQgY6Ly!ZQ`Y& zxam^e&x<1J*qQIO`lCPhFYNN$9EFBnTX=B*;~KNnwLXk!GQCpSBf8CAj<{=mE%9%2 z`Hzfdgq-}v>%{g~LEp=H*QRri@SH*4f^T(-1oY>2F1l0kW-1M zn|Ox{-Dt^7?iKysDZ~B(F+&6Ldj?1dE~BD`0Eg60O+3RSh-=a#CfIYWAS_Zc4NIj& zlr$+aO`WaV_U_HQskZb>Ixx?FZu-dD9S@B3VvU&#_KK<^ zD$&I5{7O;OQMl{@We#!iS^b`B0@2g5%GC^!EkKHFW8AytiNJRH0} zyG`BvjYmjuMSsdpwpniftYPR&qUJIrb;!+qZN$;!V~;gCk?y$MAM0>vz|g)yu_7RE zu8KZ>NvU!5Knt7F-Ib9lSW@(Cqrkdo&2C5gmdhkCwAK97$KN@a-Ud~^T$ci&7TBK_ zc+OI$qcAjTs@k$!8}O4%{6wslm9_ zKy!W%RrRE(f@kIoTvLr*U=GHH@&Dlt%$XI1>^;0u2bPbDH+4%*i8HV`mO$~wg{-j$ zQqmM{gG5F4Ck%_a@W*U;b-c6h@}k_E8kKu3eY zsTxosSW0jIeU=T1>LHUI7hVwcUonASP%6%Jeb0lN4G#tNhzz)`snK>#dJAj=4_LEb zvzdEDQQ>UhnELTG1)CTtAu_&PDw4r2hl>%|b`;!R@&Ta&dP#@CgCR(#6^a6h$ufv9 zt--damrB5@hHE~mrP+!^o}(z!yFrbx*ACpEtH}$!{R#PFtQ0Q3Gg=BzC;*~p5kTc_ zaU|)+Ne6-jPL^VVH*l6A7*okcgkZH}1>F#g#eQ&hGHh z2iZ7+Yqpop+Wi4ZaA8Mk1u=p!qOH{LXqy?o{^OZTd#1M)9OK8Jib^26Z3T{L9=lkB zHJf&bAS2K30p*LEQ-+)^g=O9(oArK2lHa@TC8ZFlOZE)H>Rk3AAnnG4qD)I`^u_E1 zq&)DMMnV`W@`5#I_Uye^1?&|UPTy_DErT!JwuS|HK4+oXxGIX_u+qgqA)Mbz@Rb5oTFO$-1Eue@ zG&>T;u<)PVUzv`$ZoXdNR+!$eH?G!G4ATAz{413VdeGmIf62s>w0MO3I!p9-<#+O! z?xW*k-AYo6RhD!%T^7f3w1SFrH=^)dmk86~uO`i^{uJN>Vg`|2dN)n*?RFeB&)Qe* zRtE?jKtC?%|e-%CDG9|~`xPhgiYa!Il6wnN-LvBFqm_hQeD zB#Wieksbs3yA_lebR!C^$3H#5d&$TNc-;qQh}LjBW>&tpO_3^#We5k>dT(2Nj``kn;JunZ&z6W5e^GkHYW76G{)wTHa zb(>zzPT1&P1K}xTm1c>P54Vj9`*WOUyt())a}IppH{9P(!CN`qm{^UNW=|TW0QrPx zOr9rx6V?Q-#Kbre6euEL^w+m5FGqFUOF$q0zqldPU%BF*dof|-u+2)`q!6J|Ro8_| zEBakjya#!{Uw8($+i6RKDY>b*>XFa|; zN|F6w0qFK!AR^x%9Ts8X@C^M{F15g9h2GEE*|dYQWNx?Y#3iNqvhc)bMNGeAdj=PK zSFno_x8pQ}W#-rtpEGhcUIkEO-WWJS&KuG8un8CVG#%V!H0!}uj|xG^w_tcDubIxB zkHjc%*itD15#W~-Q{w5EJ<&Me>Z>scf~%BD5;0sB9>{f821ejDWXxNeW=E8thXxJL z7?Leq)?D*c()pU9&fN1@r5+5Sc;FV|IxZC|*cQl8l;3!F6fBSpr~K*YW5V4Wr?v!= zJVV|X6iuvaJ2)bth~)X@RWLZ;G}yxV!Y$A+cw?B959@TaI$w1!&%AsoRYqjpTj*D6 zffW$UP-kJV7A|m)==F(y|4ZHpfG+%)rAIFA{Fiyf7HRnmtJp4Xp&cUQmL541Q0x%D z?MTXAmuU|0Xbwpm5*Z|=1VDwRhk0z1G z04yO~39~1wvNj?YP*h=MkRCcfGzbm^cR`ayF8e9Rh)K>(BT0FfS%M>zKNy)wzMwrd z@~~m7r->E&WBGT=2!2Lv=fDZUTSSy%qJi45GN83F8hYX~{|HiyGI(mbJL`s))tN+q za&xGMe8DfCgd*0-b($2jW4PAbS1xrPEvwoJ^7DYE-~#5m1M9iXva1odQ|a88 zRpetrL381m;HTe~H26mi`&i!TSqMcvbe1$Y)KmI-)KLsVGPwm?!ju}iQ;S!J!#nV2M0hh365elm#7`9>bXM73O4mbhN;p(Nv=z3rAqjiUi}kk( zy2bulYSdUjdHDXtic)5HS|J3=1U!(aSJO~P(AZN>qUT~RP5ETt-rXzV^f<%@Ku3|s z3CKk(U+&NPLI(S4f+4wzpumdZR*{Ti*ZG?wd5@=S58t)S(sQbFl!f3mVsJ}Rr7umd zF9Vsd%w4vq?N~9+yX%YQ7Oi}up0}taRJ^5>+h*od8Z-lfq?tex!wcUKdA1zmkqlC7 z`}*(I28mb@6BjNS9-IMX#=$qR-7q-x@!1&^AGrIbgxix~5<@t{{Qiu?h(S$Nj1rsL zNMEUK5H#yV7(WteQF-_+rEW}^`-cuYv~*sscgV)=aZ!6=zmg_u`KA=g+_5M$6}S(d zbI*6Yf}a7{Szl;z)r};d7_3Gq;twMY94ynoawjAnM8(d)wOqe1gQCnDSs3TX(sadV zz=E=j3`7#-I5oaMvhpu$8amby#vuC10VcjgATsZc$lQu7_<*aTp~m=cz0^DC1MIhj zo$u~v*p4V@#$u~1F(V^L@Nkc|SM#108@KyIxhzgxnd>sZ((y~}?8i|M1>-PSHPq1i z(=ALlM@46s4eM;GXEgEnKbvQc)YaMiR0AYA0cT+%w<$2;kmpfXZ#j7332vU#`4qls zi0AI{>!bH;1B+;Lq1ao=%Wq8^XbIkF@!)Ibz6<{(=)=6ru+rba*(YQ${~w-W;lF9{TNr3xsnS>BBl-3)zaY2&sEp*!N1g zcj?g9;4`o)MI_V2>!7n}**K0lkcS%^#EP#Bu|sr!aO8I{_>fGqLb7VcSr0Ism$t+@ z6VI^Dqeo~1px5P>K86>AlTOsCHL0tFiQVefagzrK@?(DU$3t_{upuO&_K}9TMWS>T zJJ^9=X=V93V2y4H@tu(3Cg++93iYtinB*ly3c^60YFlUOO)2gW&Od?47Q&c(y9y)` zH0BN=1Pd49lnApBV-8Gs%n?hu8$VQf(&Sco(?8P(0)raX1K zrAzW^9Q_fM%dW4<0%aUWs52l>de-K8k2#=KHY!P_x#bbQfzB8i!2=Ej7_;&4t!hxb zIDegF^!K?;3)59QBz%kFEhS#_;Mh+zP5I-Vhfr2u(O?}~u)v>2MI)PZ&>J@wTdG_@r{+F&FLAyEwGLQm&JvMlIl z->)3>a-)JA%!MPQwZYP}E)Kzw$Ddn*Ci6krIXJM;Q0kKH+n6J2$4Dc0*<^u9p2HJh z-L=0Uh#%)u+q!PvVv33>8mZCX9V15;b;aJmm{fr%IeaP=JG7X3LRlT}aU{HqS5qZm%=NP!4E8b+iIcZ+YuIcYC}F#-jvvMPq&#T&!VAn{ zzyK9gRAKRlr?@syMtOhBrs_ek$X|51SwRQpWDZp$DtgJ4C>EHNr068{d{YM3?XPkgy|1W$A2qN!wxHL0QX!&G`vJWeAbLE2q|AM?t0}9<>SxEnQ z33#Qdh&>KKx4@Ohe8cmzbk<3#8kD-3n%re;ZzNeb;x`gX^zGeW_+e@zo%^ z>t91?`NxlNLH>|bEQzru@9kSu0{(0>z3KA4gB#r`{f<1Q^g0+TQu4phEx`gKqpVjr z66t>?Ev1um(dhtF&Kxd-^ufP=(Q(SM*dX!@1mjFMDA+<-=cb!^{rpL@Y(EO!6&iS) zh`PTt5P^eOnT=_?ZodMyJV#ZkqSBM_b{({@9rzI5&O! zlU>0(FJNt*ly;4AhjW%`leRI~hoTO#%HYK*FzQgN3(JjPd@=fErzG?{-QB#5wNci3 z(~oCy7kNPgF5OX5#vgDC=>jB(aQt6M1Qg^(w6@J;aeH;`RbRuH}(j(%`pY$$1 zVP1Al_+2Y4<7)E5^%N!|Xlh3N$*xSNHFmkxTCy0mL4qkjB5P)fzv!YKQr`8tA`+XThGYlOQhYz*kqLCrAwq@K7=N(yJiRJ#*oegLIgqgqv!#Y zsbs?SbcV;$Hc``|D$7965;)FR;lSSN(e>+nM*g|AGWDD?QkXh|^bNja>QF3&WYV%3 zOxnmi9e=ilRHs|HuKPVt!be&enKVU1m&%Mpsgzf(eR0!iBX2y&*TxQCh*0%>%BxGs zc1B4HgZ$a+Sy0|eOSA`5`n_tyHwrE{fWX8}4m8t1g~WBoQJir!vO&+piA)o*yoGBJ zxQur<@X3n#4dHm7Y45ryU2|Nn^!_>FXWzV*6B8$!ex0IZj{e6^6z#2~H;A56)i9?AeuMnNbpo zB(G*Oi%Z&QAGl0Xs@ENWZk#xaue9HJ$NMb9AgD{yQJeJmtt2N?w=Wq>TSU_?a|0T_ zu!3#c|ik}G?P6pPWl@p zj?yGC(#6G|OSCj)vvk{SEHCvD!uSjI=9|-R)DGBOz_*nNQKfAbE< zI&1&PT)uz ztG}7C`Yxm)aa)fvbm=UymJ7stEQEIT*;;zW60VDoR~c4G$J32=)fvMlDLk_%J&ou+ zLA>)QF(n&OevHxEe$1T5mXo(}3(?QckQ$osBsss3l4gvn90we4Jf;kzr0rskC9q>- zxLt?1{L<^hu1HkBI)nO2P%u$s(4!)`UeuCu%8Ww=DXyY?$ZIaabX+bE$7vrjSyVKa zyrNpL`#>1q+HQ2U^rUmu-|{Qqfq(wxwbj}L$(B9}MVyK2(0m1^(IAkF#FI4j#JFd6 zA^ByC@aaR~*vRV~eFY#B7Eb>pj-!*6RY;MpquCawJ%b>7O}2ayiJMBI-6=hL8^`e+ zWrdP4bdoMoYGmcl=eBKoxMyh|@iT8yZJjk>=BI%>i0ZT;jqJ zFmlTH@K6g+e)qdPvUN3Um!IYM!8YoXDWvM5)UJe_*^5}e^)A*_Ws&YY&XG?Ka;hs% zN@i#+B1Y#(C#U+xS-7B@*{c^4X&7c`(8Tho-nC25=q9trGiggk(-Kz?5XcTA6oGA7 zIA~}}m~5X9)k>0xIyfn>XaAe6giM5Xru;q>Z=PoK`qQ>c+em`p_ynQuPx<3Nzs-pb zCllLeTsoy~lC}(VRU#dU9;#;3j>mXlLj~!xukwjj$D*aXxbM*}n#W$^WOovwUak3l z)%8pnXk9%QgmM$3q|6nlwG>5WldC1^ZJ%JMN8&o-TBQ3cJr(a4dZKYU29vCtTS-pg zTy%9}#s}mZ#-F6^5>1254-v=-0}|V^P&5ry$s)(EBW#=Gu*9`8OLq!HBBM%#g6l|6 zmtM});QqV3q!&+YTU--&gitbgjbtcgk&+sL+-x*M#dXr2zkwPg+ZQIF2~s02X53q= zdNP5}u^}-?b5AdQ{bN|dr2fz)S}vaA=*c#Ehb3IKUrxmkDLj81Z;Q$3_d5=b_~uBl z%v8lx)xa=Zq@tlJ*Or)M2IL$}x~RDU0=Zd8CxLB)B2P(ES553FIjY?D#` zLcM|i0bK3nm%J;d%QxVpY`V{0;qr(icm8tb=4YW!L>U&$|x6lOtLChP*=T@S;9dv{P<=qpuBbs6~+ix8V6{r zSJCyU^`)U|Rm@xbI6wL6_jvS)AM*Y0?B%vqWu(&fmppj|G#h91EaM-(z)-A!!Yz+e zymk@NHoe4XI8OTP6|6`(`Ae1&WE9ODL$zXP(!^)z`1HgK8l@ECE4-Vc4-XSDzJ zXSDwMXSDzRS9HJg7O}QIgmN9qDurhaGMej8d?gz=Gvyg|kp1 zdFWXJb*zI_XAkK~+Y@k<8q?*5sS}fFaYHk}-zz((538ie;D_z8=~uzi=o@GAc&sB|t5+xKnC`Grysu zP>9MLRD#SPu&Mqi-NzdlOy^QowUHIMSp=}Lug?S&U}Tv1xq1eN1;sVX*}A5hiUPwk z_0dB_ax18=sv<8Z;2q4SUbc%&IpC`J1KC7;K?1spsvGEr;h{^?vtHM-^O?74E4#KW zAQC;sv(G-uFQ55@3xf&^wr}VDZ40T?lcelh-(ftbXw7pQRfMPMECfo%5at^GddAgN z6T<5)K|xitFLjXiD0UjEqFq(>QV^N%_qg{GR|?c{1+~l8vu1f6Wd(&46-Ee&F}m8@ zXzCszWhrDyAK3`c;6+SX)R!`M!F}xe-cR`Mz8~=Y?>xfR4YdS(3byTf>sV-vboOxW z@HzU@Wh}kzLAGyLNMXeARBu!bBdeIog)3RHvX+8uo&Ldb&UcJ4rj}4yvzF?dLPEkt z$u1>-_8Mjv=iv_Z({?sNY*azhZce4TX&ld(2a&Wvss#KwM0`Q~nr9AW=(=|(kzge) zx-az7GXi;aUTjxlLqtc%7>i9Z>8PlhgKe9bws&BYdVuN;ce3}M<&-AQ@aoGi@XKGn z%hC1}wRhda-mMF$3b?qAytZJJw2_v;@a2%}4-?ciG+oCq40J`gCTz{zoQo?JLJL+> zwV;k*>JsO=F4H>ZdPwOl6)PmM*2`Qv*U5x7oB5S1SdisMm-aWJor%o49~zBwx-ClF zS3*_oMyj$R1QdaqRYv}tP0TG0Vh!}rc-ka6so)ubE2yf5g2)s#RL^Nwe6^kX`Y9s6 ztqeinNj&NXKEvnz@%iu>28QnSqS%h)Oj9piV=j4fHZ!-Vnp{mo)qVIXHd0$tL#{hY z+vy1gdt6*sMK#uN$BMPAC`fYjgO~V^Kl?lW?mzsDU;N{*dG5{6Y3q;SsMj)YJV#Xx zP1B|&D1}f^godhlG2=%48S)luxAI1{nauSJk0m&Eu^%&7#+>A0Sw;mW`Vyaf2$ZzDS%_$g}c5xVUl`E%E> zZe1;@_Wc|>@;PV6efV;wZdO4R1w?$+6a&&sP!#yU+z>@vwSZ!vKDUs1m12h9FS1!KKYY!Sp)P)aCUBh~N@ zz57p1)zZP$Kp5ziODWkgNYc!_os40&){~A-Nls?)+;9Q<{M+&88mPI&gz~~@AxUWQ z1LOq9u_vRLEyu8i;t{I|U z6F7aXBu3YgRkeYVdlIPg`XQKu;fxYLb(nZ(7edCc+dpHZVIJWfn<#roN2@-=WWq(w zDk4~rj~Z_!dgy(|TKZ7^A%w32y><=ZC5!L}{b&Vi2(65g_H|=*U%;O5UxlOz6eo>6 z*i6U86SQo9n6>Mdv+3|5noh^?1@$kD3CgsC>&;?^M3QEbBykE^LLv7vOpFloWf}L# ze8Si$*L_~eP-&DKY|t74_Zp1RqMc#h5=Hz#mhq^Rw&^H6jfeT*$P&sPSjs&=_z8iU)3o%O z7}>L^C@&!^eTgIQzRE`@$C!|QR3Tt8PO80~k%2WVt=YuGkEWh&TNgcBd4f)d^7jn^B`T#QJz21i=!D|vk6(E z8Gb72mau5y0&@KdWs4UOG5iF}*0FJiL+&a`ytkeU^^IH}_v1IpsadjuRU4MGFzCn7 zSFn21<0On0nj0_B*00StI!cM6sFc(!Wbxv~N*z@F*z}BvQGIb?eK~Cfd2!*Gh+Dds_0-4U~oC`pe1F zGt{zB7QVtF6hlYGy@jm^fj-j3rNbZb-rQ>TZC}IVf9{F&S66~Q zaFn;6exCOlJ2-#%F!c)`hP8e{?^G+G9-Eo~w9v{(M$$UCWByLA;d5nqF zRDv%MikHMrRl9^x&=hUPeHy%EG2_&Ft7eUg@Lb6Y=IrIsC)ToMEaL$oJnw+XfpdIt z;1nIbajqOaz~R-4solDnhxS3q{Caw=AO(x=V9U}1CYoR6lQV5}$1;jFQXypt>_8EV z*R5wl%Ohcfsz~DfU0iHxg#D6c99tnQPDid=9viPfsNV}aB%e)ikZ(S%9j(k5`(?efBXSwRy@U;wcq8Z ze>01-eKE+dVd2K@lsLVdKJ))70j|{0{fk+@>0ut* zQbpJTS+J2icF$#YsDAL9qyvW&iUgWu)ES}i8j>i|TU}C~SH6-z_ z!@T<3^Spk#on%&kz;yGBjpKH4C3=|SJvFTL#~HfR%%$^fXqx`Ta+ICMN!z&7p4SS* zhDm<*8a)eYn6qRRW!vu{@$8#eiBYV+cj$jU3vK6v6x{bia>honrH<;?VBj>pr;^j< zWZVH#!|&05avrl+tfu;jd8Dii2Rl81b*X_^!(j#w?8i!Yl9o!OknFp^OUdkPR7Ii% z3^Xm5$oeM;u68hoE->)&c}Ak+NIQWW>&Dg>QLuF}k@N(XB@uxjx)UXK;vEJ){E+16 z#8rHH1>wfAt{h_M<1+O7cT#ZIqlA+tj-nz5>*?*QCw{3NDbl!!v&0TPL$CTBO1Iob z*}M%{6G<@q2y2M==j}MjwAWZB4V1tla+W_x@y1HBOi%;sn0044{-Wm?eCs&lqXAU) zs$EZUNn3-o)F0#U!8O!vzmu(dn>gG1GWEj_e&fcQw8ul1q;N6CjoWKI^_dhcVt|ii zHalc3|4tS$fFOvA#xTuflf3Hl60f-_g`9T7o2G;bNm9C`adD^HX9dGd@VaQmM-30l zO1>j!F)2YuM>hDc{V;c;pc4E9~%$cM*S{iC~BeBU1KxYWy=pLG#;6byByDN0dY z#-lBK^yc$uhTuE*tmFQDt4So&NF#`D57YEXGwI1>#tbX-8|ElOjR*PQ{bF*TyqEP4 z>|=E@je{V4~-G# zbVNghLUpWI^9bMFK9_7u;`&#z`R>`wu6%|+{QfjeJu^wY=hvW6y=Wy5fB#3+W;?j( z=&D33SjMJ33)n!C-jmPs%uqd@BM#R10D}YL=*!lyd+B=2#3ZIL2>MjafoAr<_6n~Z zJV&49c=E29XNv6N^6*J6bk|Yf%O%;?N?%I{R?0+CGt@PqAat97-qXDC$KR3~zn{H3 z*0B506y?mNQywPmvbL~$iew@nYHP5Hg9j>OwTZd>1c0ZFg8=obR7p*2~)Fn2lsDUOGT=gHx7SJ zefucFQNA|y=4#+d>M=SRKj-kLD_Qu^a@OtM&bgjJ4%QE2y5a`%rWyBc$HtsYp_=wg zZ^U&;zm^(i;KaMU{9F#kzTK>Uy^fn_UlP3bL76sEWzJ`KLMG(8Q&_7_#>SA3ygT+1iury?q;xuG&P( zF$frG2J8RC^UuA`!LD8=RDmKLZ2JU9&Mad7lHF|BvWHdcQyFPmNpiT4){Cb(^x=CP zIo(9hq>WS+<}6vw!~6D8o3DYQVHltmE@k6=3t3N+-c!%>Y_x%nA&Dy;EIZ9a+QhW4 zdImz`Iu_}88q>6=&CBGJQJk3~miDSrH+ygbftrdkeDW=x{e2$VlRMe;^@ zPNcnSmmsA{DwQH`detN;T`V(AB5lr47pD%wwu=@jXU(q1d9bdKc>9aI_GvQ{F$+Z~ z-%92xssb1h6-IlJ&bZg}_!kNeV&42Y^4m)2zjA3wN~G>5SiO=>3uobvwQ~4m3(;5_ zMdsYp8DYYfp=!!sE31UN+X}WNZw!U#J zHGt}>82-5|S+kgh^ZYmo3n?^I#U?&@mUHLM)7<03(68gk+8S9UH7r@PjJf$f1QIhb zMqft*_4O@uPwM3O#8pY11V!S{FQsX5k_M%EGx-Zj2>Nw|w6P{fiFY+Jez6h7 z2+fR*KZrVOHIcbR1cI7J%~66V#j6N!UQ3qUM9Cy|JOa2=%M z;7B~QKm})Vh}gwL#CzjNQ^ge_)S5+P&#ok#?L$+*wUVTU`-!z(B+)lKt^RWj|HctW zy#(LxW4bsc0yqF^4WN-gKVCupi}mAs$zvsCmp;cR%0%cRyxFK?et( z{yG2Yg(Gw(gXoI90i8yr;{RvwJ%cPu&-=dL8&0~p1(>>i2cBW@`cK7^i8`$kW_nvd!_($OO| zS}8CQ?Tat+;)^eHdbNV@ALj9Ap5d9Nt1wK-g+@!uaP=i#eCY*VySODF-&%xJ9D4L! zJp1f(jJXzLGO{ek3RN7zlQNipm6uvXiGIxx$|~%wtbH z%EJdIsrwF+oFwY7a_Ka$9Y4kS)wu8m<^~l^bL7dVc=C~1#sgXO@4`8bzxpb#U+$2h z@wCPGEhZm$7tcO0fm}b$4_-LIayv%r3iYugJo(&1?DM*u{)-nlvA9m`Y&=_0ZB_U) zJofa{Jo(T*YFc3PA%nFmTsZj($Iq|PO%wt{o@MwmkMituPxH|JI<63yG^De9f!AJq zfzwNUQW4;L`*`~O&+*`_$Lg`~@q?3>SsN;}0bwc}dFDCZ_4pww(Fwl)!(*Ji9F77V z3t3Y_iwB;3nx`K>$atkNTH@X+^JiY>wKMZ9_w8o&2!vw#>5uXAf8%fPxuJxnZZ~k?@{G8zIAAgH~@>_q%_s*c#}&A%Uv1 z@6h8s{mg#!+Ie34t7BXUV~mnJJ*BBd`%^sd%yYc!!F@D+NuCX9FP!7VD=%^E$^fA> zjbv2S0R#sXAnd0p*~wHVbF|jPJhGrWYxcv{v4?}xw3|L{NmQ~uyDFJgt_=o8QJ^i%I*%$Jxv zEdtl2DkOb2qrdPfue|gk#}^D{>@bf!`7WLsPdIn{6<#>GK%Rq?Ee;%cf@hwaBENWw zmw$MS`OFk@;fVtrdiuS*x3O6qLFFChPyG?!ejz4FMNw!?SExPwem?w2 zmFVK1@|_ng(tn1Z{OBA({~~|#A6_IA4$uC?^US(kj(__HoE}7^LST(S`E?%q#INwT z|JK)eDt(>b{|Ema|M*W&(@!k=PC30b$Xtj}jVo2DFh%<@bs1djtxkba3 zCm~@NF-%A4|D;4I7eA;Hcp522-f1&r&<}}*IabI`N~E0{)oO*nH9K<++nh9s2nP|# zD5t7ay2x`}@$t3TH9v8l#6lO-Vi3c3Qxa4 zrBQwb>ABZ8@=SsWL-HiM>UY*|@j2JoF4W5+@+cxt&88Q*xVBncYfWJ+n3y~Y$)mi8 zQy9@|;Z#sT73r8=ld>BGG!F9UPkn{I@ynm){r>Cx@o)Tne*F($;$rCIsNIA$IRkPu z4izLW*UOA!8Im!e2s#re6naFwGb|2O z$S^ab)PEACUA!Qm;uVH~y|!Jmm~ap=Ow!FXjKycF1inV(L&8DGFtIp6m0IABNQK3k zj3^usMj6trP^$*`j(EfQz^ye5!vSF!l3Tem0gjMpw?d^-!FLSC#6*LT!5|;ycpshK z=?b-KmB8B>Ko&c@i-gM8v5ny#7KWwL>sk+tny*N7(NZ#W~8aQLFg4azpByG3*ZrqXe8{ z40+BqEW)M?2O;4wC9?)>kw@PPDg?e;WKOfin4Eh2$NAi^{!PC0-f0&9-S6?OU;meU z|I89YSKe|)lpBxLjG><3(0f0_Fa1Yfi9-hc z6stWd^$Ol7US&7`o6U-`9VHpLDYCRl?GgkPDxTi5(&yyafL=E)Jj8OOiIy72Z_=m~ z!I~R^q4}^+FUr7eQm;saEk2v$(r8ps5(d2vNiOi~bpm}GG9_z?2R#PEgv{=qqg6Qp z^{S7%Ie&7JC?t$x(ov=;DK(B?p&EE-1=a|JI>HA(_LDq2m++%M`D6b5i>GOC#0b@A zdHiSpI)CSHew`0Zp61v8{y*Y3|F6Fw%`90GF$hDl9aV%!QrywH5;y{p4GF_OgG>a=xZkI56kgDz7Tnx+kpwmvU(xcg|BCv$rbz-Xt8g&9C z5!N7_fQO#{GQawt{3<^gT;z|x_3QlR|M?v*XDLSQftTJ|3=(($`}xwZ{0iUrl_#rNAae8j@SO}Z}UIdoaBq|;ouX`vHy?$f-?j-I}$Sr zd^Evm%G@Xmt3VLoP}wz$y}IV}0v~5Hr}oysSO?9-miz5IfmDp`(sR4fJ%qx|dbE%I z3IF?VT5SFWp5ON_j!gU+e{rHibPcJuLZZAH4Zn7sdA9p~r1q(|0_xYBo64i!+&WJ- z3eyOLbg0zFsMc>j-)<&t2&xS#wZ@I*e;YM1gioa&jPASJH9J4;1r_{C^`@r=SINh9 z+JzgZh?Lr;*7B%ryY_lvcO#PHR&IEof|v<}atRvV&Pu!2_V38BAFE#N7rPNpq$@O9 z)vMpX<6Q(od(@gfwd;(Dtz%xfRhnLP_tV`C<5f6R8{?zzvuvwvh9;=DsMK%Jw!*=$ zw+QOHzxRe=h;#^M-^G!p;M~9YUH-*y{2t#qvqa*#S5H*#bQ=^JKVIVepZ`mK(;DnA ze1gXgJkD(M`@DQPB1LUmFRfKLZiBH2ZqVje7XqO?Dovm2P3N#e>E`D5?m7>)?A>a| z-d(3PUfjwHwVqu=`H{Ko(B|8WtJw-bMIopB+IA-nvS{K>yaSbXh0y!*)` zOnXC;JTJ=El=7PrZ~dM$h}Im{kNzDFed68Jnvk@IQsUOy z+TO=t5m5uAy;1eF8}&>e~16)+b?smQ`B}5qgpj3 zZr}ja9*raK=BddJ$G`hBixhI)y&lIFLmCbUV?}*@f>y&J4MXB2!@Tnn;oJxEn-X_{ zusIOS;XU^>V>3;B&nc=h+MF!xGPrz-_A5Uk3q_IdzT7Q}#UV?G;~|N4sMM-B7~a;C z!Wyz+M3h-{P^1|Yl*>Sg5<8aEBqEA4a6Np_y|b(xH}=XPOiDbAh^@l)13a}MCoHko zbkJHzZJoJC9_N`Sj&fk4hO3IaWHyh9I*Xit{RMt_{4#4pi58YaM-Jjw0xq0APnx7V z3-FcLB=*^`#~@Mo^`MZ4-L+{W5H=^v^CG@LX_R_L8p0*1f17SWkPR_mL_X3%U(J-I zklI64szrst5<3@%dstBIK6v3#@KibdOO&|r(jab83b9w~P&qH}NmJX5VH6TZ32DAP zpP7&vcSDCSi}G{->3{LJIsCv8{_)@YA31;Kd`ard{pG$S^}1|}w-Y4j3bI+fevn8x z$*$Wj@2r-wMdoOQR`sVLdQwxn(ZQ@sNyhg^um=FE*hxy=#evAWi2l(lq z{RF@Lt>0qM?{5~MDpBq)_Yn&$@pdGr*ZnC`qC|-jB}$AEaa`{Qj4{;eH9q^*&r_?{ z=yiMi%;!GE1CKm_l(O_hmncbni4rABlqgZ6#Qo3tEnoYUZ}7mw4i!lqgZ+O@%RrpyKm|pZ^lIdabBPy#<5*fX{sS=Q#Y} z5hw#@OO&Mk9n`=|;`$Cs+?cQnC2@WCrq{h;d&0i?0W07g`~CJ@_rpBCTa%#lgOs={q&_!%?rUGQknKx!u+^|K8GT=(wcLlP9lvl@_ z5J-9JV^0W)lp8++@fKK_1Y+C#5_0t4_rtTj!Fhix-=~z^vr4La(D+DI%!ATTT4FDe zrYR3R@*to7;%BJUYDIy7cH-EX+Cc$r-+O*K(B7v6U*b2KOpFKEL6=Tw2^tL=V#wNhhxO=9(%A}4rBP$D`W!@PQyw~wO(hkrRiL{!r7$^y$eYc zQsP(ZOij8Bu3YBSVv5>}UXhyW_&%O|*I^z#Tqi)>fVB&hcBwb2w0yN^o3%yaR+}6; zbbzB%RXk}iw<^aF5~tea(9uIY_1HAiH3zc0SLsysDc<9LoczCu+vr%X6 zfulV2;55@!`KCx!thHF_(43g&@kbBw$e|`R2dur`yb&nZrB<)d2sCP!CBj;;Lg6=B z96q$4qx)+3%8=isei2d=RI9YAF0R^r$+Cd*YRn!w$is6@>Mpmuu9PToBcy4{Pk-hU zy!!+1!S&pmdf!cMIC%6BpZ(ewXpOZtgK0~Yc(YJ?>hF@RB%FXoqd_z8a%!Q?Kr6gm zHdX2P)SFGl>2vPNIs>I}_h56!W`yl^PMruz2N6keyWOuHk*lMJTd;JI*XC1FQ+VR; zv}&F;IZ2WtGCR_NZzZAEkqB6e#gImQ7B0;*a1z$S9HGSSoBZf#LkM;jZ@GaSV(Wr! zt;OUSX`GVg_WEsgP5+Jlx%2*#F4eI~9^B{By?CDP&}{loxAlPqlVv1{BFze6{r2a& zvFzfFTzl*Gh{c$Uco-AvoG?y^Y)ljl(Q!s@3_|D~%uKo-t?5Z-XX@DXd0slbOgpo< zo`;7ajLeSlx1$fP+rL}J+2%FZAA8oatpei4eK+s7^*+J^hAc^l1`#$+7!EB_6fsaK zac1s(JlsOx*wI6aZSyUo*IwhynE`p!C(L)B!`2$CaH-YDIJ_@_?h0qFbQoq5Ew{X{ zuzQsli%t&A8ixabzt9iQ`q-e{hPiY>m?wRv08=`}1sBSJEUQ&T@)kpxcdG zapOsF%WFi5cMh^FW9Gnqe)da0N3BuAEeiAkS$eSs?-i>r2ZOBKi3(-qS7^ITdtI7;2&%|QwYHYaQ^@Y0G!AkmK8 zb>k9JAf(2x)R-Kv5q1?)NhAU}+WPFBKF}u3Ds6$?&#P+tl<7prSQb-&xV60WAIUJysM5@ty zT6@FQW&88oY!Ym&5o`wA+C4DNOT2Yqtwn3aSAOYh?3>y5hCS|imh+Wg{3;jDoae&X z^JRmUC`tX>h|(inpH{2EgbKMZzfK>ytCwCm9?fQpeeRIUSJvpGaPIK#%5iB-Oflha zZ1{#O4q01j)61^8R=dAFl2E=XT4i!@wZ8zByOc34>eC?vX~@JQHtHuiVBJ2`81n#8WoKMjLAvkh+bzv zC(3Ty@X>yS*7!JMfkU)`B*CiIt26__u-BzMNWrVpY&B_BG-@>OlW0JD ztw%4;F&q7BL3%!oR+CmOpxLP6Ixea?!NEfT)5em=A?>w3-6+F|tGx@w$$;YrOpezX zt9nSAF%0{xuMY@gds{ItLMno0i-~5HY7h`O3MHBxm=iQoz$A25JGA==nb;YVBpsLL zWR0=9k0T))_E}%+(~GWIw=4+l&}cPi);t_3u-TAqyGMJFkeZU%zf+OK2_N~y^ZfWn zegZ%6Z>pug7Fm|@=#!80$r?s-Fa1P7x^kXNs~L{c zyI$v2t4vH+$yYCOVI@P~sh1v*+M_W!#ay!p{`6`AI$YwF&NZaof^Zya z6hWiGz60YlU5oNOT#>MF>NNd!NG#;$&TEl4L5&(o}aCo{-pmNgGB9uUx zl=k8xr!OqC9Nk7-tq^F}r!_Uj!MZ>>E{+TJ$w}O%0aCiFhW<*A@LIAc9V*QhhnfLn z%?g1Z;JbokZGjUfuW+fIk}(RJk(!{{;_%!gGZPim1`ExGEMHmV!sT^3vAIh8ZiCb3 zSxRqZjrmSaZ;%ktXJH{nMlmV!D%TSVr&?iZtigDrLbXvLa1E0)`%$$FYjeVGmz8#( zFdKbNNW6N3{j)P1p043bLz;tv%LL$C+(;cq0QTZ!dE)j_41w%~KyND952bKE{EG8Z}R$ zwZJ+J_E)MHYlu4Qq`ipVARP^ATbu$3g;%Y!f3AX8uhXdb_@0Jno%5$Ja(X^wXl{eo zt0L%lX8#yXSE5}9ZR<>HpK)u+vpz%vdcAl%sTTt21x(INqic1VRS(bi@odQa*$W)M z(5AN~fL8bwrlu!3GB-xuQ<&VMwI%ATbK%?~3+qE-TN3+s8cc3zv>JToE1#p@sJ~%C zzkw(W`NU^G#h-usd%XO^m$25BGMp0k9BOiM?7uFXVeh>3%BwKBZ<2!z!~D66To?%S zF1ws`eOgn~9Gws>o;}aG{)lwmA#9$~TU%j%VTt+GF0ramlS7sl+H}+HM9k(HgY^~W zm)22`lODilab?L<$GLYM84vFhmnVN3VtT~vl$CV40Iel@3cH&T< z7-ymZakoz=$`MjxO-?-Mvb?y+<;8W{vA}T^rq^M4eMlm<5=4o1Jep$-#>ae=%^9pL zaq9FH=GQZvYLm$^O*-hX+|5x^qWlW`=4N?lu1>acftO#u!1;v%v8*sY-k_=yI_qtg z)(S$Sw9EL+3=cmrj$FOS3$LE#^u-mH)ZF?nZW{JkU0$ahW?(aV z?R6H{Lt>+DJGEsl9V&rO#Uyk)J^IFDV*d<}Jv>QM8wTx&Sow@iR0;Bkm8CA7VUEdC z`s-`V&o6RiEhG~Tj!EdPcj-h~VX%q9?~)KrsZ&A}!SEAtDSIls(mB&jx=H2sWjr%!Kaca{6x%%F*T9hMhY zSnOta6%RRB;I-ptIDUSKD~s!__cJoPu?`888!$E9WULwBkkVUO=FFLSuB@jx^)aRz zFzEK^M0sIcNtdw$b3F0j1YWqtspIE4d0~mwP|?^o#bgzt{(ydB_ePOc;;n&EoYy!1 z<6q+aKk)$^=gv}7x}M9-f&IMt!YlN;y^_?IxL245{>kdfdg-a(YcIW5t1>oG#dfc7 zc`ZZl;-yC@+-i-<={of0xwM+@e%=AT?gC!F1C@cISEh#3e3tC7vD< zMk#2;qX);CnObM1*Cj(CF{DWfgA8L`T1`QJ`3kR|SfuTY^Jpt3mKm7=p$Y+c++O3t zg)3Yb)Oc__WH^kOzp}#F`Gj$Aj9%VADv1L{&^g6P*w$DX?Kro;ppIPoCQV5bgRE#= zSD=hbP_0o9s<_pVinmH6HI6IE(v)FpFt*6Hlg25r1toLh)L`{>$f-4?i6zbwf+Qo$ zEm@oq4ifsQ#8Kj!JojRxL(duZ+nhalk&Ej|ak7;zQ)~ImcrLC|NSkuw*}6Na&oe`s z8jO>Yng;@GHsJE4aJSGl|@mRLg^roN)*M7S z4c%T$5-I9c2hRnYU-iHjg=I$1CBzM+3<8tq47)u#-H_Dv@U=v0fw7RLAh07@hQhD- z_!UjRJ)l3Zc)ms{h1Nw7Y?_NL-)ymYN*E34XBDPq=Xm_+H2cRZ)O{Dmn-B=4@ah5D)eJgAh6#9{ zLg|8JhG9xC_GwfqG@Ol;sYTGGQWC5o?yj-8vQ9U1@I^{zb%l$IUHTjH9!rr)C>OX+ zVN{Ui#qs$lz})6`XV#QGZkK`;WTbIME)|ZWaD4|?8is=*v5|Pb#&tDX2=XjtXbkyC z_r5WAwYpg?2r(-5rBI_2g(9f-YGCa)l}qsnOp+3=cj(4BI4-VMXsrqgZ!O{uT1N=6 zxem#ZA*+-?Zxoo?h0v25;8am4CXHLG(HgH}I}0oTI;jk>(gxy=nnTF!p>fO%Uhuo770QXCmVKG=O<8PbZ}h<>1Z00 zGaRWFQVamA9I7=BSEgtUQnELN&u-0@L5M=KB(7t3S_?`DTrH8x5@$J?k=w4#vmBdQ zw06+iLR@@QopnGPUGwjsQYh}O#WlD~p}0eX2X}XOibL_>Uc3}{55?Ubio3hp&GWwZ zcjeFQ?%5=JPEKaN^O>0ia~&drJ1ArRL!Bs50-$$hl0aYKxQG?O2uHk|#rtJWgB;`j zS9QX7Av#%A=ff>;mOw{jFIf><`1)*nq!A3{(2*X#Zy$j zR1GGdx+uw-%0cGNzXCZt{@X1qa!jrrLvPTY=rIU}$lX=I88XYz`LEjc7UwuB?~hdh z2?M$QFh#R&OaqWjCtHBYwu$enCZtQ`&FB65Zr?8WFI4<~)rp>>YLG8jGOPvHxmvYc zK+eI#Qr4;3bwiL=v)di4ks2}n`>C=;pLx>)lcDZ1cUEhZCB<%`Cte?$s+`a-EZO|y z({hPR>4?Qg>iy=Kqr*uJP|L;NDdv{qzP{VssCrSSRRtl^nR`y-Bak5|hj%e|j7nqv zsa!HNO#82Nj~z~&fSg_n1zg?AVacKlzg5)Bq2SsYcx6jE8loonl!JE5J4=)wZ(_#t z=Msidg(8yhhEr{0+e_HL7?THD#!SI}sqEtdbCT!6rF*bQ=hDde*!~ZCmHXB?BId&c zJ5r{847Y{DMyjwDzirWRnl)#c#H8?C&k$w5x0zXM?pnag%z4~)TJF<9_(R$GD^0*n zz&nK%IHeaNA$zngkfpz+W>ep9eQ-vJ93@`v?taECmj8-mvaQ(u##l8Wt>wqs`Uiq} zze;<$+D3C=teizei;KLPNP7_Nt4W-hY zb2OEhYl))DK5gz@>5hH??v)4V^k_%z`}kfG8x*fu{&jE6%*Xv`J468y)p7MT8vckkoEZRG~cAXf2OF(YlTRye`;lgD*Ba&me!+co zID;(8oOg`2pQ{}CkC!*dIp$#Y9BneVIrb}K=y7Ya9F|8b08q)U2D8g|AULule2tC+!of?bYg8M{#W#G-AL!c`Wv+I4bViKZan? zFZ8MZ^lO?dlb6KsRI4FSH60pkOz;y==?{?tI>fMlG1rPiS)Sr6bbUeu`NJcF=V2@G zo{LRJpW=1-xaf-cCY{N3%}cQ{i2`S%QIJE+XqKH2ghC5&=G{uw{7|r_qp3-YeiI+& z_1S0H-GnO=O6OqTKizm!z~9BO`#Ao%nEtNo!$nJ*o^Agv^`l0kul}<-EiF;B4?~&F z$8PE#x$vLM#_wvVglL2}Q7=nPHWbMJBtk_QaZriynz8jH%`jXn6@~J_oywKnc|(*S zP&c{2*54t8&9VuUQOQx~5Y|&;T0;uf3f+EIBN4?z)jIF%<-cE46}ie=r++oc!S-mY zZ{zMa?@!An#?m`XL=LyM$x2TNKd7py7dDIl>?P7WXKOODR8l2~ZEFez0guK;?K^T8 zvv_%T-nUS-;hIFS24|wFxgT&pv&Mj|=_H(j6uzqco>f<9PQsvrD`gE5rCA2@sr)QM z%Ta}`d4k9nS<5n~QB$p`kSHu>0h9=|WjmHkodNx5&h-Vrosi%(`kG7^dEN7bK7H;O znhC7@UUC~$TDm6`Nf^0pXbt@S5GROVchu^$HC1y{wHFG{NlpE{*~z!Wr6nAy<=A_Nj}Rf1fUe?vyN2`xa9OmN_^8`j}G&_QT@El3c2=!Tsypf@ybbs zy6@0LtSbHvXnf~bfrr}0A{9g;Gdq4&BUAc|=SU&WYIz?Yga9|Z`n(UUoap`g0d4jN zc8J`nw9U|)xXY}II0Zujcu*z(0p0pp3})^>-}P##zi9!Xco><97>D^D9X-| z6h@uz+|)+X^GcG0G+1_a@7%!7pu#V>A^!e=d&u#H?w3MQNU-q8^>I1sG%$hv!%oO6 z%XJxd&?~mki%e)beUBWQQKrkjW<;2~Pq^NB=_#4#wHLJ8f@riYoe?82t0% z5GpKUO|h*5Y3`0JwXY#Mijd1QS_Oo7M z4{=o~7aD@wgJb1DA>4ZVuEa}bH44{liUR*dV;;WOl4N4w!`7Mr{)EBaNwO%=^N39P z$-WTCH59KzXBxkl&HpHUh*f7KQNl|;$^|*jA3UsNak(2ct1R!^@lL{<4^o2)Oflw? z2{&S`z=ZR)e#{Pk8Pgr}`D`(1=E3aTWgo=un@7{Hibz9qpGTjmWN#M<&4ZVekul_PP z`zt?&(z(nhk2z&f#C$yE66i3Gp>6g$LR`7R3RPsB^Zj$(MQ9p``^tZCB`vY#&%_eM zM!&CAC`7YEnch|UeoJ&^8;P9B!y7FJX~{P~AZ&o3HJ6CDI2aWkf?>&Aa~Q8AXd0hZ zw)WyW_~ada$0lu!K5+SComqeLp+#Ne*^B*6PVBu=0*emnhfe%!iUev`xKGG*aHpg% z5nchd8&cyi2b>NoSZfv*0m3w7ekXw{2X1YdRnuH07M>Re)T6l@;dD;~78aLe6x-?!QnA>N%9 zQOlTu#((RBKlwq0+VsC|}Yvz_}?tWq59Q#;2}?l1roQsB~< zyGrJ{jtq`-?O)0&E0N6o!j=!foz>2}7TX;B)7At#nPE!lPHz_&(~5>P098}yj@L>1mR}VzK#jZU<=ArTg$o*Dt z_m`d8P~BSN;B}UENB{ck`MVC8&sB|2r31d0Va0Ce)S4}Bx*ExF?CV!1@~fY zyDFDqm)B#@7AMV9#>XkJYx=vXnv?T_9i!3#3k#d>3HJI%tDrwE!&Ie*4=Ixb5O-#2 zWFN?TFxqUL7BZkw}qJ4UVnWVjWdd2I3PZ+bvMtvrF1f-ye zJzg{PMM#=I(f_4&`t+jnen#K-3Kmtjy}8Y47@Om1-E{&`FDK~ijoew(o|KdLuxj9y za;w^&AVHrWRZ6oGM^)-BoznmQbQZ&F^$CB_c;SY zXYb#mdItH_P{8P4yb3ymR}4%o^wewOyS48hrrmK@JY?@Kq?vWGJ@HO0@|KYM$0-{+ z(f==!WnbOD0WX~U{>VCQ$vs&20`Z23R!vxRKJlZGe$h4WVt_(c{~O(|?XM0v`^VrVly!#0CS?tJ>Hmee7NrhmqFZ|4A8+veQ@rb9hpwNm z_`|2-JMV_#uKqr+>EVO{BK;!4v+M5|1-^&Iag|K}oBuiqX}~)b@IA~lFmhhUq3!IP zk)n0#PK7+;?xBq(|JSxUN9<68y%m5WD+K7UEgfWesSk5R@O!lBzYr9xs@IRR|7knj zS5yXHq^!tP*>!qUVxoJvIgt5v((nJ#DVdP_s|tQm{rrmY`Jwc4&;9H3+H>|kKl+zD zHYgi40W8%R{(DPvMqmc&Xls6!MdNETUEt5n2 zq4E55ACo!8P=nHM$ht`YnDQ$wb2b93{;;cqoqiKtezXRu&_8oBHZ@wc(Cs`bVvB^T zSMV1ijX(EKplac3yt{}AYm;TvA7q#eH+W+7Lst{9FDpXnpG&{r>Yvx=5CA;Ngi@Hn zY^w!6e>?p&tTak}FxTU853%+62TC7t8sv8wC}{i}hI`eLH@o4K^dh5t zTWQYT+|NAgY3caAJu?o&qJ~iC&8a)wSaLdgheAn8NBVA`dL=hLxtYh28M?Oz@xVX} zh<7oTK<{|S#4zs{E;9@u$4xFJB=hsDjNn@DDLu3LAK%m5^~B( zO#RgBAu$LyJk^YK1)v(U^E&cSo~Mk$0av|DFYrNONLYvLL|Pl>Wv7S!D!;@~Cgf3r zb`^Kaf0vp?64~Jc*AXfd6ms$ptxWQ4)1^z2u2?gblO8ny*3rpQcYR7cfR=2Pd>&Z&1alIW^D2%Si-u|GdD2wz2ZN>u=^_2rGk*8 z)V*W8LXBWWbHJVT`n~Sne8h=*C1Y*>j9q$MCK?t2jr*iyLU`5gsIhTA)U-7|N4#}b z{2pY&;qlceB{uK+#b9!X!SqwP9nGj;6 zZ*GpPZX1leH@s|64y5E-V!7ZFdQ*u#RIUe9p1&tk63O#C4ow+Q;EMM2-8;wTl3wiW zGk6(ND29lVhe!-Hojd5an4F&lm$_#gA%%Eedn`;iw(Yq*Hf4HX=SuOcnbjS=IlR3U zv%DQSEC?KDPS_8FO>?lVf>)~%Im8#<9iQ9F4A!Xi=giK}NA6<@*X#w)nwp(TqP-lRme))YNa^6DA#lCU_e6z zQzPt@>zx|Dix1^af)w-R<#&%&Z!7N^)Uo{hLM^H?c>wMXfAo_MEOW)-!Zs=DER_*J~O0v%MIC!u$A%5BQB-*Du zI!5DtZ*Wu3{&R5X?NlZZ4R9CmFSUMM|i3$JB1?246`9_P!mP=G5CA!J@V$dFQd zUAAz4OL-@N>GL@f+WVqYR3cQ(GcepiyfGrJB=?sf4%UZ={6Cf-D|^8(U8kQg{WNb~9Vy}}_@~T@E+kz7wO9^LmnWi@uU9Wc>jjPq;d;izhar1`*)r*Np0;ylE`^97`3lD7PNFT;=)>*^V)!FFfIUPj;L;y= z-EQ;m4x%}|qx%f}Jfb~x7XW%BFugJ6K8_T5p#)+u7>g!l=T1DM7!dS_?#2!$jAKFz zur|A;c};ymYU_*#jJ^4o5g3(UIH4Oq|dNMLkOgoR{-VH$mozWKcXp7R}00lU0jeNN+nt_M0tsU zH3hLXC&-f(7m*N2BFBx*>q6?)V8^~sHpNRNN+It7l}br60#Ut`DC~m%h~gs7faHw4 z>WNqy8MH>J^6S3_6snq_&<_+$U0m3~nMr{y0YfWjea>Sy(9lZ5w_0bmVIdlA>fUsJ zMIVPp3ek=NR5(L3499w)w2{=i` zN{5f+D*8z;!S7q2p=pbk4iD(>d+V$G->8$fI^RFP!)q)o2qP!B>xRE?2RyIy{|)f! z0Y3jEjKm3oHxSzCtJ??cMQQ686wuxV>?i5VWU>8h!paXHXcwBWkAolwVu!eDu0&iS zK3g!PJaM@om|<7iU&Q$@NaudpU-x$zuE&rWDekE05qT<8zgZ#+xK>oq`1@tUBBa-$ z;z~0>cYyHp`aFQo0*pYi(ANZ4JQ%^L82J^12eF}Wlg-+}`BYfz_yt+sa+;5h2}Mkn zWTGo2jB;quIVJ&X#L3Y%bchpNFVXTrC(eEG)H)Ut(0@O`FbuKj)h8znH|I1hI>c`L zD6}Gaqp>(9UXQb5)$3Yom|!4CHtl3}uj%C)kR6kvZWXI2%0+T}O>*%%la)N6b7Jp$ku1qid@;kjehIkKYH8}z%;YIZgj?Gq@{{K5B&iMn zO?NbPna|{>>0j)G0+dx+zO`@Eb+A$n27i*50=2|e}To!(@9 zhJ4urFpGkkMWa@$&gwdh6ZNt#uIn(v7hYtF^k8jVvy4}PakpRx(wa$eIi?O;i}5J^q7 z&fk@jX$``C*1N~IKAOa=IB?yfXyWauB4qJwx*pnygEJjKuZJHVavX#Ak-qy4DekPQ z7EeG1$X}I&i9Z1S00iv1Nl9ujzD=v!U1y(&6_HoKGQN#3pNRYaVF*s8JNcqKBv2RBtW>R|5^GWEHUwchmz&nYQ*G2|b+tFPG84 zt^rxC`eGTp=%}xWmN_wf&j~wo^>3kC$z# zEc-!H4#}&}$Iu2%cv}wld}(#%If?8-B6|++w8kzj$*1PI;pllwjC|ftS<|OAbMptz zEyO@1Th_vvXg>eO0WX(q*3WC(Oz&CS1z#Wuq-3^Di(06BS>wMgU-eKdzNXT6>BpxM zxor3JTmC2~pKw!`Qb!1x?46-d_8%m$tE`=|a&%Z3pjYG&*ex*$*B>aDmA~>@5H>1wRVoXVqUveE7;;;H7yz4kC2kxP#5&@9n5S|41zC zg4ad#3lj7%wwv}*OeD)X`_IN{JL_nC0|tk>+nsaTbTWNkEpaWJ#?h7GQB0!dkBHjt zwYhe)YFZ9;5!*H5SRu>iBl3Jp&*?ozKUQ@&-_97(JHJKHvGNm`;S@Wgtd!aKK6(bn z=3H(Ks45M7>TK&CcMnfVO}ui#G8ErEfIB4BIl(We0P1B( z2g-;hV|29j;FsZDcL|G-j1885%3L9~6>g8CL4UaHiw9ABn~tZ$&Jh_RP@MN{#;a{@ z==+U@GX*C?YA}7=gt@Ddk>9m3c_LE_U5#%>{ZD6jf(8!?v2k9P+wuMVwD(VT0{E)^ zsrhyi0oP8^}L>orghckj9TH+jrc3?k90iziNl&+^_i&>p#%Y z#BKu&1RHLxXA9qWhYx9#2%z8VTiplgU>y17CVdNdiq!@*CD)-%a>?HlCP>*u(fVXg z^Q&fd9>KSLG~RZ}%&dDm15{|+W)hDDx_IKHE_j5lr1;8mBqMpN=QGFha{ZnbE_nU< zQ)g3$4UV-zVS=Uv$y!Fi`eo7!k?EgOQOZ%axeuD4mMD#tXJ7#yb&9k_(b%%}*Bn&- zjZhmqnY}2! z*~@gU7)eHZUA?M8zA!u44q1XR@H0f-AOm+w;dSTXJM^$&lw)ZzSgl_qE$Sj=l^!ld zPA@4@m%J7Y^=y7zF&3hjac#T4!>#8s%)5($|56HzY`0mcW~oQrNkvW8I0kN=Nwu8@ ztUv9JbtapQ8{=&^ah;hbh6!#jp|d_5a&_si7EaaD*S9=-A@v)Egc5TtX(3jFKdk#T zO}tf0EP;mrbiDVTljk*SxopDGQ*wc&Br@u~S*M?`X1YSumOV{ku=#}kIy#XOOEx6t z0m8?hkjhA-rq)#7t|vbBFL#46Q!Vg?lF5^QwX?wv+tfmq^VRh)UePDKIOuC|P^8&Q z*LKn4T5atWntgdF#0}vTpRzyc`;I5(=3L*j|3ksonZ>SrejOhEp-Svb>icO;>vGZg z0Ew_)7y7e{%17OPiI&ZKgGP{^gA;#;DcH&sx+Ll?ak0@1POf`4gX(c2Mi^%3x9<(= z%cylP*k?RqivSc!g`o4kR zU$zPH*%uj&8wc3~8pfXHkzO~m`Xs{=u=G-TuVHbMepSRb_zy?r=3K6Jh2+;LEh1M( zgX9!olW3+kLg;)fq7}pYy;CKa7k&K4M@kLrmP(G9NN8%l3qCfA8Hel5>ySD7_Iikr zxo|Oj=-Dt<(iPeoaSPTuTI&O+k10(MkY*CMnP8?S{870FK{brGcv*dZ+E)6A+AR8} z!y>pMbqrP&+U>M%nH@#NS8(A#59S1X>VakpB{GXSO$NLWlGt+I79|U#mBtvd&Fn8= z;*$Zs3V;2I;(R9DzOoWwAzq4~PZDIx+NH{_+0(rnlwU2JNy9Z{+msLW?a8(gKVqk1uWwxSn1g4(aXn7d!#^Y(su95j|{V|XxJr!#q8An#Z3a8Ry zTj0}z69!1mlxw=dNmq80Q6eFM+K>c(K)o<)OLW{PaF*?4=;TSm*`^mH7yQ_e)z(@^g8xqzJFkfU#mSA}(v-da+ zoh0s89Ip|tW`DZAuml8&yxeD$K|1vuWq z4<6M^(i|TGC6FSquzrLrnf@7~r7Eo<7=U&v(?$fqeyfe342wduvH#jb$Ueete}LU6 zG;KL16(Vn_!A5_TnbWPrNtOubsMf| zB*W)n_q!-gSWTh|jjPF-rd)shVJ&o=Wy!H|;H;!e@0-m=q@Qnr2m8YyEN1xghEnPQ_4IIAyox6Eq|$fn$?Ilgh)nqn+5P{?hxs){;vo=ue*p z76XmOV(~6hTF2om3n>i6@6Rdka*>|+45{ilN(9Z#DPnSgSH$I9B!x@Af2It zLc7oV;#<6r?eU8_(pA_Se`!^?GlW2FBy^@DCvtk$(|nW~In|de=t748)M_4KKVR6RP28kSRt=%<+;$PK@NZtqSIV`346F zA%t;gI-1J>%lNl%pcKfUw4Wxi*!48t1vrx7s{2TVAMKaIGtOfvX{ zvX9=Bjv&k7`rbwoA^g!yBiE0hBz9uSB)R+_A)8jCp`WZ|D|sz?Z}CpmcdlriF#nQA zVu{=w*1yVyKc|fSrk=mtxh-sulT5&)-cBo|7yV-_WXhv^W-Q~iPgPo!lx(uInB4Cr zK8c6KfP#SBgo{BBZ%e!omJXRhET)vdQoP?ql~!nFsWhX)$DXd=sNj&|^`l~NBtc#Y ztEV4~TJY%{MIIhC)ZvM>`}u9;7`axcgueF}+DMMk$kCQ~r3PcVprdwJX{MdhrrU1P zUGJs4%jGM8I>m0YHG^`Pai~8=2#MlM!s@&=-G%8VOlPim*vOV%o7JnL74drpcW zv}AZ*QfXtN{U~;}O}>*t79K(AAfD=7t`Z|^OOgJrDT0%Hk8sanix|DGvJr^?y8UOf zS6WK5Q+|2#A%{-LDjGVOy|V*NFHZ)5iJ>TTUyHiVBk>g7s!DW=Tif=$(j}lkoSb3= z35hz^L^Za|TEOi)L@MTAbw}`fJQ`HiZ%8p}_UH!z5}KqAnY+!S#$rwD1BR_kSG`wD zAjNP9-mC|+9@!c2}gz2A*m%4w! z_1v_w(+}4p6ILkaj^BEZ@gYC{1Yz!d{H=pfm?UGi%_Csj{NeTL7X7f+kV8JA%2_W3 zHzfLz6LC5tQ@yO$W-bQSVHDNn`K5(F3&882!io*7Ii9 z?~EHM?3tBMh}emJWH4Ab;K4a_PMPoLFhMYq_Ftdoo&xU7hnEP4SQfrq+FtiWc=Yq@ zNq8Db(!#3$ZVZ0VjUnh$wmorx@Xp~7OvQP=DXJ>tRJzinoZV*wEj9v{OXH8{I-XtfrFk(M*(ZK%zD9bSb1;e24uS zAeqXn9T-kWLXuDyfn~h*I#K~exPR< z0q1|y8u^QCQt7tHJHgQ`mSX{xVT4+D4kuXo^#N|nRWS>@d_}FA`f|FZDZ6-8ZmWBK zWIMS(W{895KNH}7x;0x5k1r5mP(2C zd66J=;jG4`GaMqck@*?T^T|2T*5Puu;~!0ks6fh-GX?ctO0JF)C~r0yw*T5U1M<;I zE{R5>s0;a{w&G{d4gehOl@fS7Y5C+yOQl~3*n%nM`uhi`xx-@>tzV7=RgZ#fXtx%5AX5~oj95w!` z{^~_mk&I^dWp~F^$vkqRGPa>TzQO0XJe@%rK2@PMddN!swz$nF?li0+nx}(`@wtCu zWx;ZogKmske=#4EzLt+l*=1UR>PuYCxnU7Q6c^nvQpoP4UFZW2wUZnkZc=~OF*m|$ zkZS^#G)<_ZqYvtGPO%oX1V~iFIthCcg>+bmYV5~?a&x=M^Eqq2nc5p1NZ3x1$NpGiPjx^IOiGsA@;s!Fv$4}Fu=mq`hc4LOoWTsmF zl!siq6b($G6!_BE^mG#>S3(l$=YRxm_>yxie;-mS1QpWkTRLi>|77H^lTTpoXVSmdCf#qQVA9cmXIuAc`A=F z!pH(kev`*C$bzG(6JVi^{Q}*EZ4kMsNyCUW@1IM6?Lxmd)e$r<(Am{7U~pydR@b?g z`!p)9E^Ul{tY~bj}4j6i`5e&l>yVY#%obKSpcgm%B9dfe!oIxW(P1 zZCrAU8(EcXzs~?kG>Vv5MlZ>!LG9bKI+<_F@If1=)X+fc#AFfeIJd@RvB{nS)U0H} zw2Ityv+{-u21-HG*Fis%l}qf{MOvxlTvYVF$%UIQh@+Q4!=NdxmYW!jU+7Cn`Uz!? zE|7z3K4#!4jJr(Va3`V(s` zAD=v?d|nF%o>9qIN4U*R=7-p#MbGBo*60=?Qpfbw@@gu5bp*_=bb3oMdyzm+r9T3s?cyRH}3$elrd!5@+O_x(ja%)?9q9y1o^$trphCAP(1{ z>!sVeIF#Q@M5%ynjo|yz){ETe<@!$X-YjTFg52#MJUPtoC%mzfZyo)QjCoeB!L+SI zUCVR4xy2~8swX6Bp9n0be;$qSA>YuKf9KErgSSO+=UX^)|8|6$0GAGGyYcYIzBFLE zmhm!85(OT=-FAKdtsm|E*OYM*0bro-p1K8+Q2sQ;9{F1=ifb$TikluZI?&E{S#w@> zv3u^PF~FYgYULqxQOOH^$A+p&{Mb@eZlJ@RMEpts*u!oq9544Y^22)nT9TnvP@yH zwz6?dZfcj3C-nKVIHqKpluXmihOvNgan%kGW;kSXH$>DYs^V0y`!3px;xaqv@{#5_ zoD<0|qD1x6KI#*CtI%7vya!1hGy1wpnycvEO1+O=Mo&n6v%qW_c!e)Ve)0lyy30+x zRWYg#B$eN{zy4SOEa-PY`n`VscHK%WEG*{$uQ)%i0n&82%gu2F{?@_Q7(qUCu&q9o zB6;y01my`|!vL!Na@V}^x!X4S*5GDnK-kb-grVjJ5fB1qJWI!Z= z`Um6VvDOQ9`SJ`124D-*n; z5Rr>Bze!543SK2Mg#jDiXU;5UWrx=tFo8NQp1eA+eX2dg17n{TCz6e&}qK(wcc zK9NwGRsZV5P$8sMct}l~OUI6fXL%7Mmt>Vhsy6UfnRfI?CM@K)t5G5+p<>!D)=I;r zZI3V4uCqR+9q|J2z_Q;l3+RkrpnlId9c`IF(ebInKTiMOXjE;0V;5T}hkTlX3Aml{ z@*osdV?m(aRy1V~XSy!|OqszM#qnbWq39oIndjco8LZ8a`ksF@MZppZ=0jJ{We09# z($W1cc%j`6JcxeyWeNm2*%v1p;HZ|;{3J0oI!r;NL`f8BOdv=$I|STQBO zbo~>BUqXU{h2(Op8z!Wb#%hdYwEai{0im9oH3?#rMb`knaDDh?QSgPNah#Izhc)ca-fHuk{ zB;<)bHQeH#krZ<`L6J4v=AU~Ynow~Dy!;6R>^b9L;=(MrILV|(?~SVZ@lNRfBZaNJ zKbnYQPzB z?rXw_MQRF4E*WmX5hm zgZ@5{s!fT2BvUJ)wEeH&UlGJX8q4Mq>H+$OlSP%(_*MRzekJqr@DhxLFS?KJ>Q}i_ zd+Is?R+kI%U+&7LL&g4LiSmx@Ec0?$nBf9b9Q4Yjq{yofrfShc%Xe5b?)+I$ zZ<$V;Jd1`pE3KV5k)EFF^aZO`exd*Rt9ol?R#*0e0n01uWQ*~`OgrOO7W?P~-b$TD z$>Gdtp1M(|fAV^nckWIbb$1Q_^2Dy0ZLgR~?`fyL{zhk#vl*R38(A^gzPpRiv3oZ6 zVa)6}e-??IJ=o1kK1u}-Rh^jWSA|{gXWQyz; z>^sjLKI0ywj0}^UzptL&)mp6oe&{!h z?!6aU4y2CRLkVLrb8;gv`1gd0!FJ+B9(PdLu{DPQ)Pf@777m*EhyYhan~nlf2#a=( zNy%q1(S)AKm|gefk7u?IRTyUu^ITJD%Hax8!OgPc z>&xDWeRP*)Fk~|ti2_5#U#s+s$z-dyKZDtqvv-uenJW>D+aaO=hw|1ei-_MS=5`DJ zeLR&(YnKQ1f4A>f@JiNWS|WyZ;u=yL#eH7M0z7w|E?1LAe*Jm!X+DBbR^=uDWJbE~ zNp;n+Cb04N1BBf&$EG(i&MA(?ww}oH=mz&Nqh6ZoRjIx;27hk$Y!tH$=Aki5NTepT zs$@TJX!yE}2Qe{`S0pMagnQBBKyx{zc$38XY$g~I7|a0|C21BX;vs#kTvPed5rm=D z7<|qsk&aCV7wW$*R5s5nuJ^I?KhxwXIsalFyr!M#>^itfE-mYJ?52cKTRSBdt>o#I zL9x3ouAYRUl_Ex@Sc+Qoi1Jra=H%ztc(5DK3BR(x=QwpTUjUwTF>;{_JzO!MEcL)n z69f(M+Pzg5@x2~eKm;cOI0e!A5p+Ad#rz+K6RQ(u{s6E+jmB$WjlE$5($L#m+6I9dT+NePl>z8kDN6Pd6?d;d1cbL+vPLk*|+$wucr7L=VVu^j3+-#nO2d z%M^}YGU2jRm}{I?!_)vuX06#O&*@(uIXK(~vRi&UqPkt}2R!R}!Dh3p5QBreFuf{) zDu1V?=RR6eF%fo6qiNP=-``FgFRZ<_=N|D8`c-&Ug-soMKh_SW$8Z$)8-^0i9bztb z&W4qpE2in?T#g-(cuDRBP{>s^^y@b4>%G?1o6vm5P=ANqr7zsRNolr8Pd8fKd)tO$ zUSGRhi4}x2yXn3kE-hXWj=GH_1Yv{yNK>Y;C=7=n`ps z-1D}>Fy_zw{a6~~b?@1c5xo3Yt7&a~f~~c1*3gTL3F_S9(F9*pfQ-J4OhoYRrL&}( zh(REgt0!%lCPRRQZ!RWTt0z?p3xj1|&bOqW1>#b3eP+f#XCz)Bn+#gUFi^6@>0dY~ zS7z;5qpUW*rHXAmqw?@-OwwWBjRdu0&_AXxtNmxceBa~i*qyd+0-+;^DYFplAswgW z;0+f~om9{9L{juY^AcbospHRtfE-&QH_da|SjW}-!srYB2rn)2kOb$IA zxsX97KZKfT>T_8*?gA@KQt0~4;U_#Pd}v-q*3OQ3DJm}3fQOS_q*7Us*UAH^HOmzrHq&%n5IZ&w(2dBkp|R5zn|F;%EGAXMOaO`&j$Fzt>gj<1R6nhss{ zPR47$RMnyC5>L#Zo(7r&Ftj}1R?rnE_1_HZZ-&n-kbSi_X*1cBqF!0Z?9N*C5^f9o zg?x=WH1Xwp(}!ms{E`F}0n7?Pk$WjMhA2`px+2sUr*ifQ7SvFtm@s}}$}A56vmgbG z@8xg)5c5YgkKyX~D@gzJ;`^Vwj~O{p=kQ#<#JisLt$OpP!{#6`7F77JY6>C;gq|-p zH^!Jn{&2;G);k27w;oYBQMDem@C|=6<>&uFesKZ#&`Pezu~l!HPUrQ-Af)%s*LVG2 zkd6sszP3uF<`s$#e#BqEIuN4y!C4Ef>nP;A0HX?~LzLA}vl)$H-)9~O!}_FWDgl(! zPFrxt$od(0&hIH2{HLL&{JVWs_#LWPQXx<-3$Iftr1qwwAV>0 zqqCB~JV$f$6AQ$~q-;2$nW(_aNZ4vcRGSBKzP*GMD3v-VBoB^$LCprM;pz7bxR7Sp zeO{=YG)jE?O%3>vjm?Txo1e1%pI~z*wM-;7tgA-Guchy)7VKi6Cdh;BdP&`Ke>Upl zCZCvZ7=6b#JkhousIPagpH6`Ddc>@Y9I2qh5}2~Qj;VVq;!9g@O%W>R<~R!tO%==ibM|*-^HM6R znChDxMUWfB{(g#})^m7s#za47f+6|oLFN~R%t}cUM5&}<*nL1;1*{-_A|kT0!BND9 zHBxKoV0-1*giJT_xc7`qX{GK9k~xveT!mjbS;qE%I3r}`aN}i2!e}1jX)_QqrJE(U zBSGf*9MC0a#YSu5?B72jlFiOuC0!W$&C@8+=M+uw*p4VCn1i9GK-_Q@Jynm+nG#kPHfw@ZQHh;Ol(bTYhv5B?Yyy*H|EVb z-_`%!`{~|YU0t!Eng9;L=@$W5`#%WT%>cD~rZs`#l;fGFojgixJH zC#i<}f+S&g=cp~TC<~XdO^^GPHy3QY@gkXNxixRTT^~giMJ?q7ot`a2?{DPi198J- z@|$y0-seh6^x|=67TxPA+}yKjX1+8cGvoOP{1aj6@O2ArUG+oN3>M+>+41YIqvD#j z23?h2YFLML<+lPaW13Ol%N`~@{K%w}Zp3*~L0$6@`ZtZLy0@MdwSot};{q#)k~lU8 zug;%|RF7+N-1_$B+;({~J~t=Ffr*;>SaQAcV)HnP6@!QS;6+lzOh6)RyNed@>fVCU z^lOY!Tv^iJJG*L$4Ne>>8~4WKy7iT=bZmLRcKI?qY66q&q_%xM|8!&2XL@bI_z`|Y zW4azhlN~W2pZ}22)h)H@fD)WQNl-F!u3>v+^6WhUnnYaCAhKARRRm ze)L;CKBOp4Qn!v5Y{#SSK=9anx}^!Rm0n#vs(HmSX0c@1e~A;%l4*!T=>1QaOZL#y zM$y%1$(C8k&N9&D44!_Vb{JC+l}XFC&fw=atVyMqYXcXtU;*59M_8*PmV?)K;G{&1 z756R{ZdoukW;DbomDVj5T>Dwk(eduML5{6^b8jPN2=)!#u6<+&Jq+M^e-oTl2lf6O zdN($+TZ&LF++yXVt=9Y%Bt8*fR<6sLtfHVR{Lol&QoZF|#s;-seurvztoy;1W7thz$ z@WZ9|lcDfA?F?<0AW7ES^_#g^v!DuvJ_3<7cs=*IwMa%oa(sVJQY5mduB`R5538XWlb4^tL?a04 z3zw2wIC*Nj<`|p{Oq~J8=$Yu6!rS1+1fKlqibAG@y*&y1@agMC(A?25U6SVD{K|B4NnN``J0&ok5Qil^*>y*nb$M2xDWw;Y=&^DNhUO5$bbclc`FW* z22Ma9l)Rj6dxdr7H}6r>_=tXZQYl_(w`qOTzj4YL-zCi;i_H4F(G{+bs4Zn_ zi&xHmbODTGnH6`Sm`rH@M&Vms)1VP#@pU zI|re7Uedvd$)9=>s+m11MJWx?DR=}n;k!NQ&&Ri)i7G*9PMl-UXEoP#bql5p*bLE9 z8e&z&KgyZmpY-mW(&8~iIp$jTc)6y2>|inH_gcs@Wg^iV74(}GqZ<@}rJ57dAqTjk z#eRr%)e9)2BAJJYzrQ=lQK3$o%4pdEPyFJVk{OTD(Pv!Kkf(WXPg3&j?Z# z)mwVd$)Yi1$fu`5Tkdqxnx-(dO{Q@YdeE|E2Cf~Z0bpWWmCt}B+$99DWISJ|NrDB8 z{bnfvK-XM?dq;_IS+rzZ*Y=Bh+aq%bAE3!74Lc;KF%SLA**O|p^SaI?UAl=oJ);R? ztKsN+7g`3>;lUb=A746(b;MueSiN!eWU+Ys<7iCXztiX>&Ox=hUQ9)o>~^GdVvsoW zCWSi%w8uPOmbtm|$kBf}27(Xfes@??+eDYj#Qs&M&gjh(8FOLSJ^mnUP%`3#TCex$ z#GJjsr9t@>N)&-PM5(L~Xwh~N?Y}pgyj@lCL{z6aRo4`zq9y?_LI99VHR)Wp99+^7 z`P*lH^@!5rFh#;J5$lVZ(S8@0hNH|!vZ9rtaY`b3KkB1UUR$lkCzA}q8o6|rePmtS z`k!XNVT~1*gKv3+`Sl2&lbC;{)Tf_1L^fmDxU#QmOmO%)_CATDAlJ;`W5K6%&rie9 zwDc{DWzI&we64w3Q%qIgZ30`K_>O%zRhHE2oLkz_6e>vP{{Hw00tJdJL_!=5H^CO| z%ljm!#cVybDQVsB?>;q&Tf^$SkaqjvQ7g!nM)FrQ2^2Evmy4aN`pKD;z8v{Q*Kr(B z)m7D;3Nu4qItM&iQS%lefwfl`h1U7ATNm_iU*uY%$bt&x$^gsWYaO zp1f*iM;tES1Hh15<+9t>LRRNBtQ)&zv?YJCMV>5cyVRCNiyeegptJ9kYucW$Ww>b3 z@g|xXk;GUwY3h_MU|O6(oc@GDCh@=}E~oHj-5D7#)}UfgtXDxt*Esn%RoFF8s87Mb zT4_O(eP|Xp8+%4aOKD%;`Iuk4XPo>BJ1u?T|==`rt{tm1`=o1>+y4mn-q}osk2$vuY`I;hKXGYD3*k+;1v8tM8 zvIPv`SqtTwX3Na9Sy96{tp?!+fWqVvg^3Y}AyKYcjeI6eu~H5WI58+yB3YtzA(!si z65mlhJJvBDdn;hYrKf$RxVd%Eh<=&R7*4Us__9XBHyyetl}LRu;nrJaM$PhtP|Mn7 zv2@O+c6OE{9po@c#E`D4hL%8Q{uE>YGn|WhQnkYcWce@s06`J{pk$t;*#rtWpw;XZ?JoC~_4WXbczigsWAbfQbRot6(_4 zL@~#4BQaa^F*|$|8#pzt(+~)8GU2dz7$*L7f_#PZSiRBK1+sw`E*7<_+B#pr&sk7K z0sd%Q`GZ|2_Urgw{gFsS+_@)TuKb8G5_MxAK@H*6Do3+&!LBMs!(6Yf zX{Cvg6_BKU$|Fh-WdHJUsjeV<8J^)THkb)qFE(k;R5IGj5Mwj;o3ki6a>ubkY-x8; zWF$6Co$|U($cTb)xr#oeLTPfHm`8+WkSTC#YFDc*NZa1^a6gPWgqbb}FrwzDXre}k zF|;TZDNbn05QdD}>jj`Nh;zv6gLLPfGq}<5x5$S-3W-F#$k~@7gI7ReL@`vkUQnX> z2F9Vyd>;sTcD@2-;sZ8Ljx~~`t1EcFmDd(oY3YVei)mmceC$5EHBFXn{o>i|>GOS| z^PnK5C|9N!l{6Li;K6}F4<(ISF-4J%l3k>aR6!A`&PP!bM%9WA>R@|n1_q9({i7RF zg*~Ptt1zDttrDg^(LQ7$SRetxjc{jUQ0CuNzl-4o+lSLe!%l^wEKM^#m`EuZt?ed7ytOlP3_pAN!A=)=j#;S z`Ae~EuAeYjO0c4%Z_Ub8Cc5tAB#U|CpX$FYfg8|RK)f7GG#mg_ix??ZU_GD%UfmMF zi=mGq>T+hg-t~hRt$oAb)r2`VRyu^3^wb4wMOA`c+|(rrhY8P^@Yab^Ne+u0u-BGi z=W%sgXJ{MoVC=z)h0iblqtYqP8?D*NY4%|JfY*0UZ4tl9Kl!Zq^24*Hf2{RjE*=Ie^U)VX9oBvrxtqnJsZb&ym(o>!KG`y-p>`B*2~t z?{ITR(nH(mLGNyu-N*?3>XUB0?bko~HZW_N9>oe6LnI=(TDMKqmpy21Cez9GHj3aM zTcvYwv*A&H8-Tx3Yt$hStZA8&&5hpF9_0=ZFS#0ER8um1y{JYOQz)BDRtNDMKSDXX z1qr90igk3KK+5+)w1;hAUF@4FyY{`A5JPWESf`P;EHo)eIK~CrEbj`9FKD85IEM4( zC*oMQdbT++zR+5BD&gnXziM_4w7|P>_5%+aPrVS=s zh8dWpXEA?QleM~`KM+>QT4!1&QAz*bw_(p6+$(8H37E|e4Wq&(?C24$ zw79>T4*pSrR;(|7G4SVT9y!}884xR6%`!NRt1NT19*aEUd8Lv%3mv@->X%zYh=`QI)f+%Zt5&SQz6TYMs|iPKJ4hZ)SToa5;lv9)k{WXw`eB zF+hvsC<)T#Y?rc6#V8z5m%;!G^@fX8l>~-jg zf+7cpWOo)RsaG)Br)SMV*c?qPtR-tlu-fpF0EGC2kW`Y2x(BE=QiVS#HZ)e%=~d0{ z8vt-9h(u0X_v`D{Wt=$C@kI5P*C!{DNmI$j)xuR027O9-5_eI3WZs%Vv8m#fY9^-j z=f?UfYboq*f4_Ro;gXGD7?K~o04myiC=0f4K|trhW?K0KRSqel1}@SoZ#$7RS0-T< zC>*Xmq8bXcdKAEBylNji7DfbfUr5-7&a^It6>1=qzxL=XkTLk<4+GNyj^OIG;w4pQ zUpph&?P~@0ts4%q=JnM+EdzyT%fuOpFqd`GOCiMI=k9Kg$X@GjX55PF4NuI@ z)%*o$9eb-rOf5C&TwZI+;opUVN>XUz_wJ#w;!#tydP7K;PAD<>$o_QdC*l?}*X|8h zfDd75qZW$GTX4I;`p=$~{AKl^4BViy?sy7Pc1jjEySpLL3XQ}aTc7GIbVYoY+4a>A zseaE)%%~D zs^nr8og#~MoLu{P<-b!N`BKG{un3Ga9i2`klHzuLTc+%yZ6cg<<$2j{TX5 zWU2B1DCylWk%~zs=+l++$`hhw+eDdWbPdZl5y+&>$fy*H+{e7U#bk`!ObQ~@ze0S{ zgvWEyEaQqC$Sy?@_ojYd27tXor=-wG)OS2BiTM{~lw=UF(up;#M6=rIDKmn;(`MfT zk#t%V_-G!SvgVAkjSwHvaolb@kY*c=gXuZ`!j z87Rilwz#G1x+Uvy3`+a0l=JYb6nP6PI!>w3h-?KbmUWw0M&9N9vA1;jcC*VMQ<@>6$P{>nSaHiD8B>a|D8V*p zQZS6S4EUa9edK%J^(nd}V6;pU<{2oBJB?m-@9HyTp(nydZK|y$=2yQUsU9iBuZg^W zXJji_va42#m+*BBOykQ?xi>apKM-Su#~&P^P9J`~TNwYO#TE?)-?T{)qLXd94pQ-m zC5YU=jlSHGwYkl3a>NzXiCrdTXBo7hlwLm7VK5F3@7fyrM7ewKArT3Hdw^AN~n!_ z)jSUnF3RbkWW^Mkb6Bk5-kLnU0z0X_{YZG;nKD}5VM+w++`XKA{XUu~nOX^R+~Cah z=$IR{VoXp*HvDQXqZcQkpTmQ8$ka)gt+8|@QA@waGj4laX zjC>ef%*j5IUJM_Ad`{*~(`WhQ`)ZYR%NRCv1|9Xlr+$7ic=kuFV$7*#axhkRGsAi| z928R?u~CiVQ7TLUem<oVD+??qd|g>b!_!2`vTui;XF88B{n}W%1+hu@PO!}8}E4$ zrm|MVP@-dwlmd>q&Kl<5YB9cM(azC@Q{rK>V0r7lb+v{`YZB=>CDRbmp%1k6@G32n zOH+xmwUX^URJ@2^>QD$(+a!m!+a(b@jyC<@X{E_x#7i`}9Id=d?W9O|IHhrqUrmHN z#AF##l8c_W#6Jq(7SCv{h*4xN*Cqcg78T+;>4_M(ji0{YX;o(W2>qQtrbI{`J)|kv zG@)n_;tfwsrB9!Mjr4fXru{d8E7k&Ecgz*0)FgdSGHO2Gx-9NZH?)Twk|EE(c)OlR z)Lfa2?X185@Xshc1_ShwI9IJ{_+26PyRmcg#8lHRWY?79Hxq}_ZjDq6UDPTJ4!x+S zQQB<;(~u9ANXX@|p=X^%H4kV%opn_zKbm~nlt zbqS}ihY^x)u-<8YVO|YU_PS0($iiT$wcV5RO6d9<6Vh@mc}kR#1E!%)&@#$MeQqYJ8XYf5O#=@x81I@NMAzkwHC=lsq2+1>FY;qK+{xk zf;(FEEK5$U{g2DXDt=;08W)Xho;rQO(j}z7Q29A7tw@oK`CHe_tfDcb^;PRNPu|ro zRJadvV>l93T#QmHij^>CNOM|7UDHbR7&0upu)V1bQ}4ocwXRUevrK4N%Vn{!t@9g} zNfpS289igjTRJoF4wAUh`m_|OS;(jK2?Poa3jKNXrjeO3c;MI&gHfUKjD9?2>sSq7 zIh@x;rWG4`bOH*B6kaCc;Td;QFc`)SEl6kOXy;>v14rd-c2+Fi%2>UlRS2wF%Jim+ zOs!9r|8+W{7F-%fr%)GFi9yhMu|^@M#0!G9?i9|soK&YI;CG_9V$52)-E=s%d3T(V zA-ia1<&a&()cQ^^gd`|J59bBJQ^QbC(mg> z7^zmNm|8RxXj$re7W7dH42Q95I+N)E;i_a%{GMO}+IY@-B&V9tM#PC!FePT5D!pbc zJyNJa#gwEN?2BJkcv?|c5tye3r>L((kRXv`*|f4KuTtEF-w1N zAP_{%lS|y3mlm(+wQ#Sg>DwKb3##_=0!%7OJ&q1d+og0d%2OgYZy>!N?TpJ@BTMx( zihNlkWo;iB@Gbu7u4r;Q#UxG=6;R0iOUew-q(xqF2A`9SV#LB7<~zkk-Ykla64Mke zoBFq4)cHM7kED)|Ww}ppm8~2HhddU?$XGl=B9rydiW8@` zcNAtFgeuw8={x(ArI^O!9gcD)toC-@5lLx{?y4XGiDJ#5V6t$Yw%7j0(QoD2NZ4n? z`i~}>kjZR7vaRViA!>CC*L2;K1xq}WZVdXrCIZ}$bBb>g5B7>+c!6NkToht=Qz8T= ziUe=GVC7UqpN`{FZ}Y5{n!WZgikkzzmoC_Z27CbydCo?iBVR%+WZ|>9Q#M>~A*zx_ z0YwT-<);J}G-;n$s0E6zq))i3-K3GMJCE5BPj(xaO7monwVT5wM;51N#sImMOSRC0 zrnJx9Ay?3G#9VMb8B<=?^R|o$_{VSSOI%Ft=IWlBCQcKG^Se%qAQy1s5K)BXsCcGN zKVL9a(~v<&+$5qDNVwrS5yE`7Om(uRTi0>TuIoOXStLUXdaZYh4`zD08?*g&xb?g# zPis9+4m%zQh75w}*}+%e3V>^y+xjjQ4k`P|%(Y-{;qR&VPUXTdVGZqaEt68z(G1Hi1VXf&bxL??eF^r5rWBj@|Hz~>lV*Sq^(A_uDUG*uG1bQll!7<$b^1; zhCKa1zbu5a_P?pryR6XXf;V&Rj7U5|!OJA*vj>GL?*YL;nbXlbkYJU2OhTUv)<&7D zrgtuC3yirp<;eXm-Y2Fi7N~WnL`wG@bm&hUha~CP!aP6ps8c*pO{o_-aZ)7~+F(v3 zMrmbnbqzY{7x;-*>@B^DhDWKO`Yk!4_T06(Z~~g7_Vq7wLS9vy#4AZ5?be&swXuzy z`+FP}5p-(qG$T1Ja&7CB5ZJ$!Qg4~IJLA}hH_$JE`fl_=Gi9=456Sk@boO?7J{Q$4 z(?dXU8|1I;tYE#fP4r9-p)RcrJ?jp7?h6-8-Tu;cQUj(XWOuEXT%~5moK2|1s>+F1k`9!?P!N_Zh7D3(%SA{L)HlQO z@!#;ne>cMRYl#W~46C-&_0^z?L9nEtbFS+UU4Y#~G&?Gh`6llE<=|ZoU7Vg?(5pXT z;5x4Q&J6x@B}oyVV4yy2CF^|$uUEF3fYSZ<;!eEyK?)QSkL>>SL0dOqtYrKD-joAh@<02oV4JgY(JjTIc#BpP z$ydfyF*VKQ;ozJOey&Nbd;`q?U0p7JvjIAgx36eZ@cyOz61{|#ByDN5EfSV;*Ru7%T4SLR}~f-*skbHvJkb2hC3S`27g~*+}RNrIN98$^*3qKRf8h zUSMQJhS3xm9dXZ~*FlTOH^vWYmqFXIJs{5a$-QZkvnQSV(&7WC9a^1&35x)RT`c*9 zEr|$9l&z@yqDqW>%ex8|@2sHbw=5ShfjxFV`1u`o2es1kO@0B{cMj4+{)_?@psN1g z@n`N)nkoFR!@d9~umBznjJXqC~iI<+x7RQuXVP(su*tY6$qU5)92?;Sl;5QS-KkFcTr|;HOL@n zXi}}!t3_BPLt=b}4T7^*1bT6w$;(C(%A0=NPki^3+y1(tC~@zk{-4)9L(;6hTN)VB z#)=#^#Io=Z5v2X4G4gOxW{FgP)q)aDjjnMw-*$sGeI3w+ul}68vBvVh@OIy<=mWlk zZMMVi?)T-8!B<+d+z)t!3YKzypKy2o8)Y7q%lf;JT!-}*lT8wTw*O<{eM|dz$4EP} zThhToaQ4R68~6vtEhZeFh4eSa`n*zPhdLrFJQPqpV>7{s>Ukl}@wmjmBYwjb-<1SM z7DbX;$arMHibc<}@b8`{+4Tl$0`@t>n$*tsd5QAXo0SUvo-1QFg+k>LhbUqbaw0EH zgbFx~D2ZbSJHJ2WPd@QuiqbnP=dZ#9G6Eit=rnw<-<--jA~`nagvXi>b6}{BLoRxU zyW^F&+S`QQ!A?acJglB2L`(Mv;C(t9u$b$aHuJ4v%hNI2U(^K`wFrVaziCzajFEWJ z+gC8xJOITwvLc#XI(x5SZfi=rOf|k?w|lkoL4xmp{E)QHjKkd}FyUdMoDmDBffV|~ zfu5`MawyE!mAT1}uX@A4Rs%+e;NlD_c=e{MqUZX(i8y$udB)+@Jnm*lDBzagE53v8 zjxlzM=7xQTU*_Nl1yk<-`UL7=))NX6$Uet~k_AxZ{Fke4X5lXKQA3D&mSD}LM*LZl@9Ych7IhJ}bI7>LMwtrFr!!v3@H z0__qb!V)oXK^k9lU~G~5Y#i`H&^Cy$Y_jn44~R^5k%*YhdfvoOd=4&)+$D?O8O zW*KQN(Bd{E_q&d~+Ak;_L0vBCh5`Q^Fbf7{-H>zf77C`y`yN1|=8zIF3zXW@x$U>5 z4NpD0AI-lYa=jf>GBODPTxn&}O>@Ft(|=S(*54$~n>c9?4EVUA+m`X77zqRL3s@l! zcRk>dgW!dTjDJQr>F}r%%19tuMaKs}&&cB(MrcZJOXG?DU++K{Hx<-mL9NiH*sLB|go}oPg*$K0Zuwn( zjt(jXT@#9^0w^E2U6^^3#+AYj&1GNoIELs93x?@xEsyde2zI2up$m) zU9LG^3@Qk|T_hWvO9qfcmcS(PhE=LET=(t&L}wxFjWA~BM7n+pRzP_mIVu~BRi@lV;+>)FZ`%SWPU z1rFp&SIN>a%v_rI35`IxOtmUOgt*NEhT_JcrJo;miDDzwB)m#(Ece`v zSiI4hB@8;fOTJuFTvc*$y=Bhh^n`*KUJsl(en((-ysf!Un|Ew>T}NO!ylxnYQpAY{ z-+{q@jO9B(n8>@wAQ$%A_uBTl{_xqo`W0PF%f({gMU(3ji|_Lw?Q>bKEJ8I=&AvHK z{m)?`82b@y|MBuQhHlPWgd^BqAF{#sDF3|JM_A(j z4#x+q`OL^Yhi#izd)#@Fe~#m0kh?zKIRbvYI`gP0r>d6t#V~;JPLAW0EP+v4iX*%3 z|B~tS4DP?ORxAeuXX9}|Gj_&pUg8_=PiKyyq0VCz48u;piCe+{>yaVVP9hTCgJizv22Ahb&v%1F5b6*?3$8?PS3(s3F(tkoq zq+^0K7M*@M(6g{<4J^+U$*m$_IyYe&kNFDM7$=V8me}#a2VA!%?ir$Ei>B3zzKx<} z`Q9UOEkyl6PkdW^I6&}=E|0Sv(9S9STr{5KZxgr;$~C!oCETnPXZS+-jrReQa`edj zp0i`@;+?wek~~>uUzBIvsOJ@NxIlRLc4bDfG{FDCeANBI5JRl00DqMNHTa1*7L}llO99ibsWqp1nqLN zz~PmaPP`EOq&E|z%)Lsie-J+vFGs@h|6Eq`Jj|ZrrW1@i@BPSo1A>nDnhK|@QK(jY z2@ls;jy6z%duT5;?oKG4@aC5l^@K`O(Fv@f^DcXehTg4W^T@bT_G`U>RIgT`S@v0k z=0zC(t}ZblFsyqb!rmQY$2mTX?@@1?!!yv{@7Of9c_=v*JOz5s3zA(3vR25rKqH4} zkl@Igw4gSu-}@{0(!DDpx@ahcB2-6A{nKg#Ww$EQ|JOTZ}BLl#@58W})cGrj$WTU@=ZF zxLLAN!Z;h5O?9vYTwOB?(JelefRJ1Cs2PFbg&ToU>ta5GPqGCNpV1n+=WauuoI3fw zb!;K?q(}*2lbg4bcX(~;F@meYWSl0Incs3D#O`&He~Bv1yqI$lz#ZKJARu-xk-+B^ zqelfT*2eU{;i@M$hYHENz9?{cL)_bRJPYd%anT_YXWDFSkXZG|NG=w3(G4JGW4=Tc z2xH!doms2Wv93AnF$mB{%>Nlg+P_cG2QCxEMh_Rm=(zIXbMWYELwz)c-q4zE?Ku%P z(#FXIT9x>I@g|MK%_!YuiKG{rzzflK{q*%Gt{dQWH>D|;tJyab%j`P9?df0?o`rIw zuJ0R}2p4s3RZu2bxI<2HX|$6$j6uCAz?^7m;f{%If`Knjc*g0(&&H9wrQ`ml+ezFp zn2>005rqtZ*dBtj=jiP>O750W+;)v`IV8&Q-@}-};SZEGoxU`$6u`o7Cof+yvl!>K z*-AAv>ewq5Wg`Rq|1y`eZ+W;P@>avIEuZ(k4NPmEz5)MR`iLsLYcwI1oY?0ue+VZo$g%rk1PL4etLJ0&)XRw|JM@mU?K8bBYjJDNG?XBe;Aqm zYZr;H0r2B%ioE7H2Z3)eqCwtZ=S^^%P4%#?#wXVQqwP5DQMst5_N=Vww=FI#9fxOD zoiA!jEU|6s_9mmu?5~!(1;f-+=U?g zNx!R_H2+t~gO>P?y`N?C!^nnMk_rxzGk6Yk*p(w(!@rb^P@)z8l z><#-$+TwmT7~;P~nn z773(~ue~fkIXz{s?8^D)@_(`C9(wn12y@iO{d)3=miIk~+5EVAyO7f`nD&COKHCAWvX?A0Ad=*Q8lpV?5c0Z$COc>D2tRhDAAk7rAVGHHFLhE^??t+ zzR>V{PJ`b2a&3$~cj&mnx~EsZjxw_>Jc^Xng^qrn?y9&cb_2RVFMlYmO5IMmGuAB> z`yW{T_V5ipKAcCjT|f-(Pbx}xFvs`##{P!4{%&4%@c z@E6ySEx8ynosid+8{mFzG^!2>c7oXD5I%Ihd@?<`kE*+gyD@f&7o_Yzu&=CN=>9K4 zTO)7fUURKItpD?kLf4dc4ABX&W^Y{_I(_Ff#0*{oih6_gnL3l-4Sp9x4gFMpE`}I_c-gJDQn6M$#x1EbRK(E_i zI)LXTWCl2OD*8%^ju~P>>_7q=1MdtB=#pup#_|2Ec;8*iy_>Hb=2afzAce>64E1)` znW1Gz00NZBIhW@obPJoDQkb*<^oCr$E9N|}ue_`y=m~atBaFmSipjB9HsK}_Ga4oz zuHoOjN5wgobw$}V$lJca@_Su*=6JMCY`=O#KEOwUIQ7nhbzldG=F93t%W#3TNp`#b zPZ0QDGaEkbO9-bODB59&{fB?FItis`*P%kywpu-d6%7RmBC0inq*;zLpA(fTwI?Yc zfwMxKIrVqSt1f2eMKrGfZwkN*__PNIPA0r+)Yc1CwKB2b@ zYunRPfwtf9YxZ+sFLLrIN9{jd@V?EQ^gT2@D?R@sbg0vbOIoBtP)f0N`?Eej2o*dN zzkkZaVLosZ9{ovEc+n-k*!IA#JGYM8zLY0LOa%I}NZ}9~vqg-%mNA_)#-Sw<3rlny zJUbCaL^g&Bj@TCK6p~@CBqf)ic9>j)OXPAbcTQ`XNViucZJB4Q7;D}UQE5K~C#$pA z-vqBmPdJ$hQa#8D*|p^KNk@#zvR<2}iZsB5qzrXlme59^)hBCs4u8%XtMeX8Yv*(4 zloKv+2-b)R&%NSJgNx&Zra#$WUk4;T0kRav43MT_JvZFF&W4O=W1hCtiHqpr^r7+&FM$ zh)!Roter)y5GYe8B4!orA6hIHLy(dV-52#2!NuOsaXkW7bSfXyaU0i+VstO} z|HtPLe1l7LNJ0ejAepHmf&we|7Nt1#X33S3YUem>vL~Zpiw8#FyC4O5BWtI^IMy25 zED7SSDVki2@=NU|^kN_}f?<3C&EKej2VV8&`x_(S-o9i?PUb+z=cP>tqwIB?c-rU2 zj1oUnjDt=vA|#~)FM2vKlg)?I?gxr zaDbR2y$@W{B6vw+1y^GNrl>Y;)<6h@;i7dWxKAs{0gTCY4}2mcyo_6Tl_yxDxUP#d zaG0jsF@9~oEl^$v-i5%;n4h?hD~s7O`injswyT$*NR-Mq!Ibhx9A#+hl9XBcUQ|J! zGy~!`1qd|~By1!eG=2aw0WSIq7lrw56+PIzqmj3iI^m_kXF3P_z)uEnT#evnNE$Vb z#zxR(qaS+_&u$m(P_#dK1Z!N=+BM1kYQCDwIZVdQ&JSVZ3&OEA2(>y!RJwM5#Uc)V zN}Qzvovo2DidZD9BVNI`;(&Soe=a8-3P<})pbV|<;gRr@QiJuedD#FW=Mepd*)ev0 z1j)6IvaUsKFR8iyxaxXOpibP`4$1!j+|KhYto8Je{>B+!2|eC5%7LWqPOaGljqGHu zdgTA*{QJ&+8$-L(t?VtfTD(@fY>Ixr->{FC#QPmy+Z?j& zmvxrT9G(>6yZy5u`9k$=cDR~v-i*Ri(@9PQU?bqKN%Xf=^Z%yQ(xHs2$!uQj zu^tl`i37?us=h}ZAod2ibVX5_$iW%Ff&-B7sA~;ds8?T~k-?Do;C|`0x}D}Gik9AK z?CZlsd_V5QDtzFmIv(*y_g98H?+p?k50I$z>k9q3Xxh2QkwQ*qWGnZb<$5Etl>3c` z|GmHGc!K{L8M7|pp;*8`@dK=1IIjMAb?N}WJ=+%lS@%6;MuEQzR>T1GqJZ{b1=Y~5I+k=?XHnCuc`7P_&=wzDl@T0n64D;SK^VMg?;Gz02NZ7l?oX?KNgL8PC@KlT{MH0BNU1 z9$E@r+ak;~ky8n}K_uUeC8vXU*HiB@te07PbMutdf!C3C{%3Jen-^M3X+|)&La8>(N)NyzNp2Xu*nr$&XoPs7J~9} zRrFuHs7GO$%+GS6X#GNevmA;^Wsd<})W_|>arF4ajj?UFKlxpWMTJrEUe@g6y3;)p zkdQ=yr(j;C)@9l53_b(8t;HY(ED;?aZc;1TVseuUJWd&pSt#evA;0YKm@s>dM6r}i zMaU+sD_l(cUwGX`F#@_uGs8Wy}9lGm8Bu--vs>0uy71zSz#Re#WtV@Doimv z#vmFB0^(`cY&(zTolr7ZD!OEqc#JSrZz8_-5bEwYG2LZ@NyXIpz~zS98s)nY8Zj*c zoCm_GS;5CrD^dy5WtQ%?wW{TBf`s@)2rUba$rb>Yb5@8tUS{Y=e>ZFVnx9Z!>&e|> zw;P!38f32N?2qUrPFBhJ-!>4QAaX{ZxCB!H^$iTar(fTMj8q>lTz6*jzaFF6`5308 z$SGILFlq)DqvPj40MR}2&xgnAh7BrU7IVBK6QBIzGp{~;Kf~s+InFx{oGstga}J`u zuC6^K4=AJcMr;w@k??)rFrwmoQ^fh6NNN^QKSn-t=z9)-e687D9|LmJj#hi#z4dHF z9YME2`iBxkovOiDz(W!zZ2j=%u#%_$9K(@N{dC&{JKK5x9;?PbcEXFm*yQqe?V3+| zRf~+{5$<=+PG2ndc3-o+yb_0JWH-G-DA{N-P9X8l;Us&vXp6SEd+Y+2OOnCUMw!n^ zZvU0B3m4`*3OA+9@4j{p?rmAW5yEw5dgBe>z+?Raw@bl#_syB+9ei@(03GUtg3LJ_&a0!e$!}N$yFv z`tQ)vGoR5C<_-#w?%dl=PYUf%Q>Y`*tyi{5+poEZDRHyDr`Y$$OxE=XgsA;f1j=|q z0ipp?#0!{3DEcHxK{BTCu`p@`m7*@kY20@l{Jf6b`0cl9+m16aJTF7&CnwJg1~FeK zjIuG}qA~JoP<)2Cc6rm#@T8%uwm=OvjtKd1(Q4yCkN_n*N_ye-TZf_DMZ>KUaRMl{ zBhJTX_vf*u4UeyYCm{LPi`(|yIFFwpc1KN5Y?V`JY3?&b4oA1ZRBJ2S%*|lcrsp+x z+qvwDqiowBp8@fg6JhPO+Xj5#0dp8>#Ear-ExyIc= ziOzgFYL1fQ{0mpLeYCWv1-`xC!p}#0ONVnsdxZ^0gfw_>3_fP+AQT1~T z6!N9WGI5V*#c4lx`gCu1g>`?3rPSE@3pK_V^fLZCOp$X!vg^)>y&!GI{GU*B#3ef8l_c`xa=Am~sZ2+%OyPUjTcStp}GQLOQf&||rH&lg#`1JzOREr~W8vm9+ ziJq`q-W3MM&TK#5^v`nqx|^>$_gux4B=?--o*9&@_WP20rUs@7Z*j$b?_eY$NJ+>8 z?4}a$_EK-NX7`y3&IWGo4R14jncVC(Tjnj=reG~0A!H#TD*;HTJzK$_rg;>prt{wZ zwjw+;-K{PE>S0wCJZ`_TenH#~$6&J)*$rNM?&Hhft0Y!dlhXZG&`SN)8By0J*}ta; zZQPJ1(Q`{dLDfHvW8gN?b^nT2rJgN5;F+q-iw)v=SF<&<8^mvZcEcdYqzJzyhccGp zY@xF)Ma3_}D5co+EY+xNRK`xU@=F{%zfm#Aqds^4hQm=Xp90Ywg7Ti6a_V5buaiNV zV=*ctgD+#bii*L*fje&JiRJintx3lPXx?^ez~AHJ7%zmA6xLA*3Y0YSkhmNv4Z^m? z#kPeb+%-xw`s1(Y%abRS?06p6WKK|!lxtAdl4@a)^}pzP$MCwku3@wd8a9pHq_J%` zwrv}YZEMHbv2EM7jmBnUCuiTi-{(2!`o8o2o7dWF%{}Ls!*gI|Suc^-Mwz0(HqU&} zg=gT+rC@rysKufWoAykL-wb|x9xv155ATKBmiql9t{c0mzvBYqBCY1wss?$aw0^*T z`ETf}Gt2fyD&p{XV#+*>Ag0~O+Xs}$J#t}m6j?^jb;)1$fm#G$mdV)oIaPcUYL#N; zRAXjeS%Z!Gz*x0!#BG}OINUb_UQcQ;mU+xZi0`;mcZdQJ1w1kHj>8ip_N81Gt)9O8 z{2pVWGhRCBKHC{Fh?rO_1%RJjTN{(>Av&Kt7q0Jbc1=N7sXWVOwY5zkpgc&%!Z$F> zj*iueOMO-WR%J$~VCFw`+qB;Be)gS#2-DzPq%NAFV&G}bQf(`gcfdyA{8M7BJ25-x zYi1JI`SyZI*)n9q4QU(4{xw33jjWofZ~Xq&a0j!1TBYUamT(ph$4)uZ^8rsn@#%V^ zbkM+(Q@o)mt{m33I+A#{$@?K6vefQtWD#!QgAsJh*&d9bP=RnIN4JtA?`X{wwuo@+ z$hWe=TTc0nz|bH`>cxcjYUl&S=laT|mhL_Dm)EH%_iSPT;&I*s|MDn(v@)@}0h7}1 zwq6(o{RI5)(tc>{=oVS5Mm3z6k__3y-Y@Mt5N}ZKn4m5Y8d=j{YLl1!W#+201ELm1 zO1**@2wF;zzIeDF;Y=Y>VQhXjjL$DyQ)@0x3FeemV$A+tKf=J{?ifZsp+p_Q<&F^uFgrcVZ{ZwpoZ@#6A){#CXRwQNqABlq zMh7Wen(RZzJD^sN-#1%6+}w8|uvFcTgAjj7;|@`)HT!3;CrS)C<-=Ujy1^{Bn?8Joxx0i$K|;UT3r8AUwzpNm9=Z`HMj^&^3a2y` zRHBR-Lkj~8sEC-`b@={B`7s?#P8pXrVu+jdBZYLogeZUxSyb4*&W(^+hfq+tm*c&2 zn!PX~iv$BZVK-i^Ks?=5d$50*UQ~;D>xn(AzXm*p1@RyhjzFY^eZ zB(h|l+YD6SK3xcz6K0n}dMl#Zi<) z!(OD;wLm>TQGbabcP`AMd_{lI8jMG>R_>= zVjX*|thd#3&$}H95xlklpXObi%=0>5-iuwy{=Kj;j{AH@jF3+gC0SaCC_%#4Ey#mc z;`woplQ`dyETqIrVv6JU;<(3A%#Swd9csbG&2;yQ4n?@uEXyUz%Xvl$Tju9r_ zj{0o?A0QPeaEJ$~-xu``8cZmkmqSb2X;{XX6{c6_}=_{G=~?+<)a_w|1=^ zAH}KfUeF_}3amrEo@(#umflt>lF=#L#lTC5M)1E@{3Uy*eb_1da%3de($oWnxB4*C zQ{zTO*L{UT_ItT(+I5C{&I51%&;{G-Jw6?uIX+j*#b-w@lNX_9#PWl=V*#Nusj!vR z%gTpc+Cj%MT4~A^jv1aQ*lc%6FsnpzaB(Qks9dspKO@8` zcs*>oG74xM6>Jf|_Ih#M@yoiJ;`8u-d&1;H!Tm0v0!Oj{i*Ye|-@wLoZhl}ldg+XQv;AA^osH?7V&g?*O}fpsu={L7wB=Cq#Wjc1 z#4*|ML8ATm(+9$N-u;A1Nmt@iCU*tT)3+fOy+oD%0W1WYCl6@d;! z{B^y{EmB6M5;i-QgFFFqTt0EiVs1-*2^-Mw&@gubo_{i=IhI8ADuyLMdIW)tcqTd3 zKR*!!2L7Gn|8D?V!#~sivzQ2%=mBJdFe7Eqdx!#|D8n&8d}M@h2-t`M;xfU%56203 z?(o9_d(#3my7@t;Gqaj>e?N{Q;<@`3--BrIIjHg#90(0gj+#9~R&j(W8JY7+o?&?D zbRgxBzbAq;ZJ_z|Wubi-kxz-?Gpw>(w8!X!S-axvcU0OFGt0_Xmw<}#DgK=5{^ilx zlDx4h$~n=*F0RB&eVNDis5A6`_JW9f!bgo74#CS}2G76{Oo(nc(~ib!5HrU4wZel)C(x>YFz(hBEbwZ2~c-*&fB3x#1 zW^6%o8SBmf$uCd<64Km20wKkq08NSq3c9t}Crbrig2F(;uxQ;Ugy3XCpqlg7zW{@| z!_Q2_s0O;NTVcyv0Cj?0#nFmuE3~XF<<$xo*sF?ZFZxL2&7tRG449;~Y_Or}g#x8Y zUE@uLh%Aa8Cb?uSjKOJjAZSc{sK}!toY+61xET$8rsv6oPkA@ z-CCg_$7L1Z7GgZHIXJ3Ei)ah6{Cw=TL|bUpvIsf~lMtRH3rnNl*JiVYzPv=kCT!e3S3DIhx%L#neRX^E2HO&Yzv~mjSt%5O}l{r6bE0K)Ic2 zY{RBAt^Xjv5h|j>7D?-qr1G8w(5}r|KQBXH?E4lUN^P=CrvZ^k^kUfywF#bXt@ZrO z#O9HpRSki-MN3S9=Lqe#rBp3QVFJHp7+_nFoR2g3I`#;cW>B=+la?71EFzOqdvNnORLL`LApL~b2}`GREXDqod^Y|BcAFnsV^GAr z&P6Xl^tO|7_fD==-~hcym??Rj+nln{hC1H5QvthM1NQC52Z6xlZ4+g^dWwpKs{D)bN&RQRqCg~906lnV#0K) zZWIMiQ&RnypO9;-#W68b^IPTJdb4NP6IASqV0V045o^puK-v}`9V&#`0pB9q&Mx|W zLJ1oec_-*!mgjRM$dgEqr{w?3mz04FIHU%fsPW)W!x*VZkx}#0kAQ11V*EOlQ<0|C zJzmn`pey6C6%tv^-Zwx{d!I$|*o*J(wcN`4Km6c=9AB|B_ICI~6t|_u(Iz`Yp3phg zkSX3up6;rtnV9mM2Pbw!BIzJciOjp0>|-pH;KX-0ove9Dn`lj1Wh~MgKq^=v<9Y0$ zfY#GcVl(Yu)|&I4_fu6RR}p3o`wyj06IuV6IP95zYBDE~A=;fqSazSH5+M~L9F;+l z%qsbsNz)LOR{3#WK3A#bNkti~lLz~4jOPpw8$%MB_>XxF)(O?;_x|h)+&6B`6^ev2 z%>NJ+rJqinFEfV1gb6p8LU~T?l-`jc@cR%z$`EG6PVVcUbnO91XPOVFj`m^`7;!m4 zH0ee9^469J17pl_A_03TCLyXZwf-yyA-ZtX&!aL|fvLH0kU|N=jQmXB$9G8$+^@`x z@$j1_nDemszgGa7$WO%nFj%O`{```pa`Hs1ejjhl70m5mc^nNtQ4*S>36W0;2)Guk zi<;2=D|tYy>Qh}p7I|A7x(yp#@gPZls)O2uCsVJNML5R7l`%6g)JEjd4|ci{AbBn^ z*`#jIPCPTt*xR8N$$3>L;66{!mm5X5#@cCcn$nM~mz*8J&oaQ0Uk_vVFQVw zg=I}@ATon6HIf9_f2js4VEa?utJ+;IGz=&UAHx>FlcbBKy;>u zsE9Sw@!GB)f{LA`xYThtas$^80(v-G%Uy3&3MyR?OWGZiy44nmsG9o{i|sMyO{g`S zXm^3e&3a%2;SlP|pF_MDW zmcO1+0M`fdwo%7UvP(*|(qd+D{zHbG_dK3iUKj_~n>ofY^nVqUtM?dKn1A>F|514U zNAuww&)G02z|{PUXQ6fX@0;Y7G>dBGrSRv)%n}*LH0YKz5)^U{S?!d6DY9R5>Sax_ zN^8B8G!+{h>|1#W#61&r?V@;`IK~o7GLy`|I#K^+(?eC!hDKx-al;kLy0aaVash7N z8`SdEYu(vdX0BfPsG`DQ=g<~}IneuTSF61+yypDd&GMqnpagFw(c9gBpyQEo@;Tx@ zZd})eW~p4~CnfJV@a5!j=oe2n)!Q8A5=UkIphm<3!iX?V^DEHOoU1DXyK{n0=ggE4 z)^@*9_wTl^koK5a7vJ_@u16$tc4BOcBfQ$2|Ez9&wm`2mT!eKrzc#JmK`q+kkwGK#!C6WUq#)jRm_xN$8}07 zB@^Q((wky>>6nM+fq67_j$XVeLS!V>bedz`^diS5RR4=xAS0VWHV>TyMnTVESEvAN z5Hpfv0`nFGa6)%IoIEccRR1q3bP{#hi-;1Y|FVlm=%-KI@+vvyemm4PP9-+#ea43w zf@j~2oSjp{MzCN>Ji?2{DdiXju?*VT#dXMvHRFFQ=-0IQ{ba5DDo6HXx&iwSmj4$1Q{^5-tzxW z0Ob*}0BKUkaV-*WVPja*IPP3D?aL!5r7DqAtrsKoFFq5`cRf%qO3HT}kiKs%%2uUPk>JS2y1euWfJS))1m;b#t!rzulj!hIdO}A%2~YVj$1Trw&d`7WZJb= z(2=KPtl)ZaoP}H#D(-=;+jr(F#0+=+iS6%KSMt|Am~Vw<^e-kOQ~hRBd6eEvb-#HRU{i1t5HY*P>fYfL6?5dw^yH|%NN#mpS`4UIpZ z$W*ks6?rHuok^a%WJlj zY97-qTikBkQ%xFgh83qAvbiK@9gIHV{=2c*>vxqbDuB!aeHCe+f1+gaQgW|6)1ETN zbXIBlhDLxg0?naTuj%`Ow3UXM-iz$Tq2D0_6DEn+i^~6~W&a#_H71+*U7_q%0}kDm zKOjwwcWU}&J>V=gQ%~hIo|Xs{(P8uR^f{vC2}k$v84b?^|MBzY$F{>Qya=%(o(l56 zs0W%z$Jkx-qC_@dyuh;-Dr?WQ%R4bC%R3q43mJLq#R!}!&8X~5`voN{o!Io-R)*&d zzV{%|Puz;q5BUG$L`Z^2h`LGU2Zzg<+b3nr0#m)XxI3|D+Dgs^P1HiAy=k~_H+?xn zSYB>$Twe-_r~hTTAh_dLhMI;Pr8SZl*mV$ZnB(IX{Fr2Fym5K8NE7zp)fr9t`Cq)N zst;K59d5)_Zd+-lvv zxX0BmR}0m|kYP}~8pRngcDq3V#g!*jidw0?TbDLYfA`)oDk-Z!#;e8uCl+9bJXZ;x zp}fS}xNJ*T`bEQo2H2^a z8k!(#ZkQi(VGJ2YB0ny7eOjA;{>; zHVnFtyTvMu9)!r%zW1K~O5uU0TkTcb8wL^__D_T)r*UFr;*T3^eE4b+%BiW!7*{ED zy25igx>tEzKE0PZS;VGb$2AzBSmu#hblO;C9MF&TWR)xij~js(zg!-f3nZ~$Q5Qgq z5i=HZyW9+0SS4=wn%43hOpJ_ zfRv(u;0r?VH>~OyTKiJgV@^_Y&8;BG)2rG<-{wNse4Y=aA^n{)$bfG7m2_0`?2=$} zO;k(f>2eCsSOSwzaOeQ1`EE>iXB1(~vTJ={a>;a9ls3w;x-fMRct@?y8~tnn2!kI? zAddtvR(~LR&8dg~x?z84^hQ}FGSeI`oqS?0p?-Tom}X)X9GUr5){~#mJBakVO?S8D zH-_EIzV4Q@K=|f6hwNEeVLtaBVG4+1-Zc5j46Xf@7WO^w?`8kg7@Iqq_1x&W^2xp> zeT+7Vk|lqAb$RQ*7U9_)yc4hJh%Ea!ntI$_glYVEM0kI%^66b%g%7KHrZS+`C7Q)Xd~oTYH50fmbE>W zX8Hu+7|)}-SK%!4`GykQfN1oGYbmC9LT~Us9tXFl9}gDJ8~axeCGs5$y|?drH=^BM zCm+@d<@6n~sy6=`U}A3^u|>O$VFNi1r&Hi&A_9gmVArGBJva>NBKPpZW0>l$Gtk}g zYfee7{!9U=-@=rGaERcNAm2`<2i`$q5A~qS%p&5N$SS&*Kb_~U{iHhZ2d(ces92&~ zYRLP=+By$+kCk%xmUf4Neff<0dd-rCRZQW@tY*ubC7WGATNc#& ze^a*ZzV=joVOlEVay#=X&^|oi@|YH@424hu7fG04Ktaq1jh~Re_hFO_vp`PGNTCiv#fLPbc^Eg!T>ZXNc4TFi->BejxS3;Jcp#&ea?sq>5kRC?jADQ9@ut~rcNK@l zh$T7u5cMt)<+VBIsd{J9bP031p>qG#DfsOe^@i^h+tjiLTS*yZWUQk;o zmhwT_Efr&1@UHbg)d715JQG_)9=0>Yz+bs;Z^*Aw&(f@Y8&*8;>&KLvyZsM%Zdo+C z$5O22TkTYQBTi}9$!>2t7aboVL+W{J;bN zq~~1`R#WGGZ8kN_rr)*!hK_Lb7y}?ILB9jZ(sQuvM9o(CLTVJ|kq+5ECx^rPV zEBYhLF1=hVR1!mm@A2sEYiKfpHrCK6!R6}hFGLv@!A}u{LtJ8+ImO)-T+c@)MDgd9 zxM6~(e($sxR%)L`5EpI4I6`O;H$#U4unR>TM*+rjxMxh*D*&_--+iX=Oe9lO%Dr4y@m|W=`pBrWj++hB`0KLsDTs)mdq42Uy4roHq=vVjNsF1Nh+=) zVtXk3W3-VqzYiF z3N#JEAn$KE7??0H6bM8KP!O{2PoFmP@-vF}rmek3hEcN2%a>2{|0F!l>mv*j2pd+L zrtJjXdQt0g)S^eiP@uu0N)qf#7fwe-WQoNyL)Ea7;ma+W*R zXb(0KgCbYnz^@@_RO(L2__z3;)UW?3^oU1LC$ zq}v)7oI;EDe4b~;!!EFKC$8kJw_jTc6Woe_*on{gSq+%(fW*HB#)=bK&S5OtUE@{R zE{n?pRB7ao5sSOkzO@_Di2w*(2Z0SJC~a_R?B<`ES*dql7jlA`aIEtU-%252ND?F! z&@=Shf^Y6?a^WA~nFepa!kzeitf#UECml_fdsE937bc0ggeTOXhTwEuBB`wY?>N`v$SS=7PeAA-19g={u5 zbVjJH^Yv9GUZPY0EPQDx3cdlcDSm`o*|_NM$d!~KiiV--@DpQ;)y;V+kySI~R)v0z z1*a`~Zx$MFNZvQQT#u8oS;4CooSeXF+baWw!k?(3LWM$!rrA}|u_;7(qH5*#wkNAc zR=DJs1rw31)i38{o_>hqt(Zv-Kp!_xw1K`({&JVQ@wf z40cAtMs@vz>Fa`nBil?-)cm`IDzq0y-qv8&hOl+J@Xq*qTU*S+T41XB<+6+&F^M>< zW*LWaxcK_jr}TYpSg#%y~B>*b=<$f$Nkcf8rpHj zRzQ%~53k7yz&*(#Ri$R@O;8j*y>@b}XHh_5SHp?R!p^z;qwhXgn~)H4nJ!&Tw;5;? zE-YolZk``s97=IO5H&_ZzsT=)$4+x2HeN;w?TK4aZ5K9s#@_NCkT6&@V^i9Wml#oL zNw%^cDaqCnORbb8+xH3|1%Ngs8@a>FW#Anr#UsPQ zKNqg7-y@*b&x6(i-NGN9!4<7^%ERQ9*>Wz*^K@nY*!~IPzUzXOUHFQO#d$CGMEo9P z$B+x`tv_=v5m$OB%+$n{U%34PNhbjcm?wqotddsLcE1S^Dmr5JZ&(EB&i7i9p0TDV z+w&a+#+DF8A;X_ShcRngxCfI**;Pt7^3dL>QHt0w(v$oi8q%2RSq^wxY0HZ`LI8C~Ik^RM|49vsXkatrm5lZB{JfRQPg>7|8%KSIE1 zJJ|~*dt7or&G{23)!>g7Z{3LjYkg<$eFhyvDNP*6f<->rv?x|Us65>=gW9~AK7mi- zso+=70-|Bqyyh1 z8)NH*1$N`5$bO76u58MF^x#RKTu*eo1`|}(bE?MTF20w8eD+W@`}=Q z)ndt7m#u*m^hFcb_<^ZwhwNc}s7`w~a8YoLIA!&w<-IOzchK^b{LCjK>B1-VZQFD5 z<%Eo*sHcFPsXs^6XWZrTY-ifmKlN7gvZCpy?-WP<6_g1@#7K>-lO0Bgs~jYAjDB9l zF7|00kM*w(64EIImdPsR;gu*agU{*AaEm&V_%ynciDf6^&%9Bz({Ha;EiW&8dwx79 zW^k#PWQxLv!O=IzX?#OYX&_@ypLfzqttFAvV$Xep z!n7p3ClZ&Bv0rWlroo6GX9zz;1wA3`U~&=DF)e#X2j@k>$rptSRAV}?Sr2sEqNEat zqJBc+?L8;Ezw12XdnT{{#LJk@Mmf5dG;h8lJt=Ks++Yb>d!n#dd%K=4Z{Z)rf1>E< zdSVGO4_Ne--l_MFOg-h3JuN5`^9Y`GjGCQiW>uEfgMT98YMsqy9-Z5AC9jxjcd`y0 zVUAVv0>9z)Cb}C-n;y(|1a$~O3&ww@Fr>TuLD^4U=Ev%9+%)YvMrvW|gz5g+2G7e8MdM1mhHb9h;ET=DJNa&XmX=YFuZ29C`3Hwax5Cy7 zz&hkTRD{zqI{1aHxWI6CVg2!G%66g4$N z((mqytgcKr^rh^+P&G0!QY|a}@T+%TcaIR;@L&k^j8WU3yR5?lOWFdN!%*9qZD

kp_N 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
  • 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 B6&?Tp diff --git a/dependency-injection.md b/dependency-injection.md index 77395f3..00bcbdf 100644 --- a/dependency-injection.md +++ b/dependency-injection.md @@ -1,46 +1,350 @@ -The subpackage [hero](https://github.com/kataras/iris/tree/master/hero) contains features for binding any object or function that handlers can accept on their input arguments, these are called dependencies. +Iris provides first-class support for dependency injection through request handlers and server replies based on return value(s). -A dependency can be either `Static` for things like Services or `Dynamic` for values that depend on the incoming request. +## Dependency Injection -With Iris you get truly safe bindings. It is blazing-fast, near to raw handlers performance because Iris tries to calculates everything before the server even goes online! +With Iris you get truly safe bindings. It is blazing-fast, near to raw handlers performance because we pre-allocates necessary information before the server even goes online! -Iris provides built-in dependencies to match route's parameters with func input arguments that you can use right away. +A dependency can be either a function or a static value. A function dependency can accept a previously registered dependency as its input argument too. -To use this feature you should import the hero subpackage: +Example Code: ```go -import ( - // [...] - "github.com/kataras/iris/v12/hero" +func printFromTo(from, to string) string { return "message" } + +// [...] +app.ConfigureContainer(func (api *iris.APIContainer){ + api.Get("/{from}/{to}", printFromTo) +}) +``` + +As you've seen above the `iris.Context` input argument is totally optional. Iris is smart enough to bind it as well without any hassle. + +### Overview + +The most common scenario from a route to handle is to: +- accept one or more path parameters and request data, a payload +- send back a response, a payload (JSON, XML,...) + +The new Iris Dependency Injection feature is about **33.2% faster** than its predecessor on the above case. This drops down even more the performance cost between native handlers and handlers with dependencies. This reason itself brings us, with safety and performance-wise, to the new `Party.ConfigureContainer(builder ...func(*iris.APIContainer)) *APIContainer` method which returns methods such as `Handle(method, relativePath string, handlersFn ...interface{}) *Route` and `RegisterDependency`. + +Look how clean your codebase can be when using Iris': + +```go +package main + +import "github.com/kataras/iris/v12" + +type ( + testInput struct { + Email string `json:"email"` + } + + testOutput struct { + ID int `json:"id"` + Name string `json:"name"` + } +) + +func handler(id int, in testInput) testOutput { + return testOutput{ + ID: id, + Name: in.Email, + } +} + +func main() { + app := iris.New() + app.ConfigureContainer(func(api *iris.APIContainer) { + api.Post("/{id:int}", handler) + }) + app.Listen(":5000", iris.WithOptimizations) +} +``` + +Your eyes don't lie you. You read well, no `ctx.ReadJSON(&v)` and `ctx.JSON(send)` neither `error` handling are presented. It is a huge relief but if you ever need, you still have the control over those, even errors from dependencies. Here is a quick list of the new `Party.ConfigureContainer`()'s fields and methods: + +```go +// Container holds the DI Container of this Party featured Dependency Injection. +// Use it to manually convert functions or structs(controllers) to a Handler. +Container *hero.Container +``` + +```go +// OnError adds an error handler for this Party's DI Hero Container and its handlers (or controllers). +// The "errorHandler" handles any error may occurred and returned +// during dependencies injection of the Party's hero handlers or from the handlers themselves. +OnError(errorHandler func(iris.Context, error)) +``` + +```go +// RegisterDependency adds a dependency. +// The value can be a single struct value or a function. +// Follow the rules: +// * {structValue} +// * func(accepts ) returns or (, error) +// * func(accepts iris.Context) returns or (, error) +// +// A Dependency can accept a previous registered dependency and return a new one or the same updated. +// * func(accepts1 , accepts2 ) returns or (, error) or error +// * func(acceptsPathParameter1 string, id uint64) returns or (, error) +// +// Usage: +// +// - RegisterDependency(loggerService{prefix: "dev"}) +// - RegisterDependency(func(ctx iris.Context) User {...}) +// - RegisterDependency(func(User) OtherResponse {...}) +RegisterDependency(dependency interface{}) + +// UseResultHandler adds a result handler to the Container. +// A result handler can be used to inject the returned struct value +// from a request handler or to replace the default renderer. +UseResultHandler(handler func(next iris.ResultHandler) iris.ResultHandler) +``` + +

    ResultHandler + +```go +type ResultHandler func(ctx iris.Context, v interface{}) error +``` +
    + +```go +// Use same as a common Party's "Use" but it accepts dynamic functions as its "handlersFn" input. +Use(handlersFn ...interface{}) +// Done same as a common Party's but it accepts dynamic functions as its "handlersFn" input. +Done(handlersFn ...interface{}) +``` + +```go +// Handle same as a common Party's `Handle` but it accepts one or more "handlersFn" functions which each one of them +// can accept any input arguments that match with the Party's registered Container's `Dependencies` and +// any output result; like custom structs , string, []byte, int, error, +// a combination of the above, hero.Result(hero.View | hero.Response) and more. +// +// It's common from a hero handler to not even need to accept a `Context`, for that reason, +// the "handlersFn" will call `ctx.Next()` automatically when not called manually. +// To stop the execution and not continue to the next "handlersFn" +// the end-developer should output an error and return `iris.ErrStopExecution`. +Handle(method, relativePath string, handlersFn ...interface{}) *Route + +// Get registers a GET route, same as `Handle("GET", relativePath, handlersFn....)`. +Get(relativePath string, handlersFn ...interface{}) *Route +// and so on... +``` + +Here is a list of the built-in dependencies that can be used right away as input parameters: + +| Type | Maps To | +|------|:---------| +| [*mvc.Application](https://pkg.go.dev/github.com/kataras/iris/v12/mvc?tab=doc#Application) | Current MVC Application | +| [iris.Context](https://pkg.go.dev/github.com/kataras/iris/v12/context?tab=doc#Context) | Current Iris Context | +| [*sessions.Session](https://pkg.go.dev/github.com/kataras/iris/v12/sessions?tab=doc#Session) | Current Iris Session | +| [context.Context](https://golang.org/pkg/context/#Context) | [ctx.Request().Context()](https://golang.org/pkg/net/http/#Request.Context) | +| [*http.Request](https://golang.org/pkg/net/http/#Request) | `ctx.Request()` | +| [http.ResponseWriter](https://golang.org/pkg/net/http/#ResponseWriter) | `ctx.ResponseWriter()` | +| [http.Header](https://golang.org/pkg/net/http/#Header) | `ctx.Request().Header` | +| [time.Time](https://golang.org/pkg/time/#Time) | `time.Now()` | +| `string`, | | +| `int, int8, int16, int32, int64`, | | +| `uint, uint8, uint16, uint32, uint64`, | | +| `float, float32, float64`, | | +| `bool`, | | +| `slice` | [Path Parameter](https://github.com/kataras/iris/wiki/Routing-path-parameter-types) | +| Struct | [Request Body](https://github.com/kataras/iris/tree/master/_examples/request-body) of `JSON`, `XML`, `YAML`, `Form`, `URL Query`, `Protobuf`, `MsgPack` | + +### Request & Response & Path Parameters + +**1.** Declare Go types for client's request body and a server's response. + +```go +type ( + request struct { + Firstname string `json:"firstname"` + Lastname string `json:"lastname"` + } + + response struct { + ID uint64 `json:"id"` + Message string `json:"message"` + } ) ``` -And use its `hero.Handler` package-level function to build a handler from a function that can accept dependencies and send response from its output, like this: +**2.** Create the route handler. + +Path parameters and request body are binded automatically. +- **id uint64** binds to "id:uint64" +- **input request** binds to client request data such as JSON ```go -func printFromTo(from, to string) string { /* [...]*/ } - -// [...] -app.Get("/{from}/{to}", hero.Handler(printFromTo)) +func updateUser(id uint64, input request) response { + return response{ + ID: id, + Message: "User updated successfully", + } +} ``` -As you've seen above the `iris.Context` input argument is totally optional. Of course you can still declare it as **first input argument** - Iris is smart enough to bind it as well without any hassle. +**3.** Configure the container per group and register the route. -Below you will see some screenshots designed to facilitate your understanding: +```go +app.Party("/user").ConfigureContainer(container) -## 1. Path Parameters - Built-in Dependencies +func container(api *iris.APIContainer) { + api.Put("/{id:uint64}", updateUser) +} +``` -[[_assets/hero-1-monokai.png]] +**4.** Simulate a [client](https://curl.haxx.se/download.html) request which sends data to the server and displays the response. -## 2. Services - Static Dependencies +```sh +curl --request PUT -d '{"firstanme":"John","lastname":"Doe"}' http://localhost:8080/user/42 +``` -[[_assets/hero-2-monokai.png]] +```json +{ + "id": 42, + "message": "User updated successfully" +} +``` -## 3. Per-Request - Dynamic Dependencies +### Custom Preflight -[[_assets/hero-3-monokai.png]] +Before we continue to the next section, register dependencies, you may want to learn how a response can be customized through the `iris.Context` right before sent to the client. -In addition the hero subpackage adds support to send responses through the **output values** of a function, for example: +The server will automatically execute the `Preflight(iris.Context) error` method of a function's output struct value right before send the response to the client. + +Take for example that you want to fire different HTTP status codes depending on the custom logic inside your handler and also modify the value(response body) itself before sent to the client. Your response type should contain a `Preflight` method like below. + +```go +type response struct { + ID uint64 `json:"id,omitempty"` + Message string `json:"message"` + Code int `json:"code"` + Timestamp int64 `json:"timestamp,omitempty"` +} + +func (r *response) Preflight(ctx iris.Context) error { + if r.ID > 0 { + r.Timestamp = time.Now().Unix() + } + + ctx.StatusCode(r.Code) + return nil +} +``` + +Now, each handler that returns a `*response` value will call the `response.Preflight` method automatically. + +```go +func deleteUser(db *sql.DB, id uint64) *response { + // [...custom logic] + + return &response{ + Message: "User has been marked for deletion", + Code: iris.StatusAccepted, + } +} +``` + +If you register the route and fire a request you should see an output like this, the timestamp is filled and the HTTP status code of the response that the client will receive is 202 (Status Accepted). + +```json +{ + "message": "User has been marked for deletion", + "code": 202, + "timestamp": 1583313026 +} +``` + +### Register Dependencies + +**1.** Import packages to interact with a database. +The go-sqlite3 package is a database driver for [SQLite](https://www.sqlite.org/index.html). + +```go +import "database/sql" +import _ "github.com/mattn/go-sqlite3" +``` + +**2.** Configure the container ([see above](#request--response--path-parameters)), register your dependencies. Handler expects an *sql.DB instance. + +```go +localDB, _ := sql.Open("sqlite3", "./foo.db") +api.RegisterDependency(localDB) +``` + +**3.** Register a route to create a user. + +```go +api.Post("/{id:uint64}", createUser) +``` + +**4.** The create user Handler. + +The handler accepts a database and some client request data such as JSON, Protobuf, Form, URL Query and e.t.c. It Returns a response. + +```go +func createUser(db *sql.DB, user request) *response { + // [custom logic using the db] + userID, err := db.CreateUser(user) + if err != nil { + return &response{ + Message: err.Error(), + Code: iris.StatusInternalServerError, + } + } + + return &response{ + ID: userID, + Message: "User created", + Code: iris.StatusCreated, + } +} +``` + +**5.** Simulate a [client](https://curl.haxx.se/download.html) to create a user. + +```sh +# JSON +curl --request POST -d '{"firstname":"John","lastname":"Doe"}' \ +--header 'Content-Type: application/json' \ +http://localhost:8080/user +``` + +```sh +# Form (multipart) +curl --request POST 'http://localhost:8080/users' \ +--header 'Content-Type: multipart/form-data' \ +--form 'firstname=John' \ +--form 'lastname=Doe' +``` + +```sh +# Form (URL-encoded) +curl --request POST 'http://localhost:8080/users' \ +--header 'Content-Type: application/x-www-form-urlencoded' \ +--data-urlencode 'firstname=John' \ +--data-urlencode 'lastname=Doe' +``` + +```sh +# URL Query +curl --request POST 'http://localhost:8080/users?firstname=John&lastname=Doe' +``` + +Response: + +```json +{ + "id": 42, + "message": "User created", + "code": 201, + "timestamp": 1583313026 +} +``` + +## Return values - if the return value is `string` then it will send that string as the response's body. - If it's an `int` then it will send it as a status code. @@ -49,34 +353,49 @@ In addition the hero subpackage adds support to send responses through the **out - If it's a custom `struct` then it sent as a JSON, when a Content-Type header is not already set. - If it's a custom `struct` and a `string` then the second output value, string, it will be the Content-Type and so on. -```go -func myHandler(...dependencies) string | - (string, string) | - (string, int) | - int | - (int, string) | - (string, error) | - error | - (int, error) | - (any, bool) | - (customStruct, error) | - customStruct | - (customStruct, int) | - (customStruct, string) | - hero.Result | - (hero.Result, error) { - return a_response -} -``` +| Type | Replies to | +|------|:---------| +| string | body | +| string, string | content-type, body | +| string, int | body, status code | +| int | status code | +| int, string | status code, body | +| error | if not nil, bad request | +| any, bool | if false then fires not found | +| <Τ> | JSON body | +| <Τ>, string | body, content-type | +| <Τ>, error | JSON body or bad request | +| <Τ>, int | JSON body, status code | +| [Result](https://godoc.org/github.com/kataras/iris/hero#Result) | calls its `Dispatch` method | +| [PreflightResult](https://godoc.org/github.com/kataras/iris/hero#PreflightResult) | calls its `Preflight` method | -The `hero.Result` is an interface which help custom structs to be rendered using custom logic through their `Dispatch(ctx iris.Context)`. +> Where `` means any struct value. ```go -type Result interface { - Dispatch(ctx iris.Context) +type response struct { + ID uint64 `json:"id,omitempty"` + Message string `json:"message"` + Code int `json:"code"` + Timestamp int64 `json:"timestamp,omitempty"` +} + +func (r *response) Preflight(ctx iris.Context) error { + if r.ID > 0 { + r.Timestamp = time.Now().Unix() + } + + ctx.StatusCode(r.Code) + return nil +} + +func deleteUser(db *sql.DB, id uint64) *response { + // [...custom logic] + + return &response{ + Message: "User has been marked for deletion", + Code: iris.StatusAccepted, + } } ``` -Honestly, `hero funcs` are very easy to understand and when you start using them **you never go back**. - Later on you'll see how this knowledge will help you to craft an application using the MVC architectural pattern which Iris provides wonderful API for it.