SkillAgentSearch skills...

Iris

The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :rocket:

Install / Use

/learn @kataras/Iris
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<!--<h1><img width="24" height="25" src ="https://www.iris-go.com/images/logo-new-lq-45.png"/> News</h1> Iris version **12.2.0** has been [released](HISTORY.md#sa-11-march-2023--v1220)! As always, the latest version of Iris comes with the promise of lifetime active maintenance. Try the official [Iris Command Line Interface](https://github.com/kataras/iris-cli) today! -->

<a href="https://iris-go.com"><img src="https://iris-go.com/iris-terminal-55.png" width="50px" height="50px" style="margin-bottom: -5px" ></a> Iris Web Framework <a href="README_GR.md"><img width="20px" src="https://iris-go.com/static/images/flag-greece.svg" /> <a href="README_JA.md"><img width="20px" height="20px" src="https://iris-go.com/static/images/flag-japan.svg" /></a> </a> <a href="README_FR.md"><img width="20px" src="https://iris-go.com/static/images/flag-france.svg" /></a> <a href="README_ZH_HANT.md"><img width="20px" src="https://iris-go.com/static/images/flag-taiwan.svg" /></a> <a href="README_ZH_HANS.md"><img width="20px" src="https://iris-go.com/static/images/flag-china.svg" /></a> <a href="README_ES.md"><img width="20px" src="https://iris-go.com/static/images/flag-spain.png" /></a> <a href="README_FA.md"><img width="20px" src="https://iris-go.com/static/images/flag-iran.svg" /></a> <a href="README_RU.md"><img width="20px" src="https://iris-go.com/static/images/flag-russia.svg" /></a> <a href="README_KO.md"><img width="20px" src="https://iris-go.com/static/images/flag-south-korea.svg?v=12" /></a> <a href="README_PT_BR.md"><img width="20px" height="20px" src="https://iris-go.com/static/images/flag-brazil.svg" /></a> <a href="README_VN.md"><img width="20px" height="20px" src="https://iris-go.com/static/images/flag-vietnam.svg" /></a>

build status view examples chat <!--[![FOSSA Status](https://img.shields.io/badge/LICENSE%20SCAN-PASSING❤️-CD2956?style=for-the-badge&logo=fossa)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield)--> donate <!--[![report card](https://img.shields.io/badge/report%20card-a%2B-ff3333.svg?style=for-the-badge)](https://goreportcard.com/report/github.com/kataras/iris)--><!--[![godocs](https://img.shields.io/badge/go-%20docs-488AC7.svg?style=for-the-badge)](https://pkg.go.dev/github.com/kataras/iris/v12@v12.2.11)--> <!-- [![release](https://img.shields.io/badge/release%20-v12.0-0077b3.svg?style=for-the-badge)](https://github.com/kataras/iris/releases) -->

🎁 Iris is a fast, simple yet fully featured and very efficient web framework for Go - the perfect gift for developers this holiday season!

✨ It provides a beautifully expressive and easy to use foundation for your next website or API, wrapped with care and decorated with powerful features.

🌟 Learn what others saying about Iris and star this open-source project

Benchmarks: Jul 18, 2020 at 10:46am (UTC)

package main

import "github.com/kataras/iris/v12"

func main() {
  app := iris.New()
  app.Use(iris.Compression)

  app.Get("/", func(ctx iris.Context) {
    ctx.HTML("Happy New Year <strong>%s</strong>! 🎅", "World")
  })

  app.Listen(":8080")
}
<!-- <details><summary>More with simple Handler</summary> ```go package main import "github.com/kataras/iris/v12" type ( request struct { Firstname string `json:"firstname"` Lastname string `json:"lastname"` } response struct { ID string `json:"id"` Message string `json:"message"` } ) func main() { app := iris.New() app.Handle("PUT", "/users/{id:uuid}", updateUser) app.Listen(":8080") } func updateUser(ctx iris.Context) { id := ctx.Params().Get("id") var req request if err := ctx.ReadJSON(&req); err != nil { ctx.StopWithError(iris.StatusBadRequest, err) return } resp := response{ ID: id, Message: req.Firstname + " updated successfully", } ctx.JSON(resp) } ``` > Read the [routing examples](https://github.com/kataras/iris/blob/main/_examples/routing) for more! </details> <details><summary>Handler with custom input and output arguments</summary> [![https://github.com/kataras/iris/blob/main/_examples/dependency-injection/basic/main.go](https://user-images.githubusercontent.com/22900943/105253731-b8db6d00-5b88-11eb-90c1-0c92a5581c86.png)](https://twitter.com/iris_framework/status/1234783655408668672) > Interesting? Read the [examples](https://github.com/kataras/iris/blob/main/_examples/dependency-injection). </details> <details><summary>Party Controller (NEW)</summary> > Head over to the [full running example](https://github.com/kataras/iris/blob/main/_examples/routing/party-controller)! </details> <details><summary>MVC</summary> ```go package main import ( "github.com/kataras/iris/v12" "github.com/kataras/iris/v12/mvc" ) type ( request struct { Firstname string `json:"firstname"` Lastname string `json:"lastname"` } response struct { ID uint64 `json:"id"` Message string `json:"message"` } ) func main() { app := iris.New() mvc.Configure(app.Party("/users"), configureMVC) app.Listen(":8080") } func configureMVC(app *mvc.Application) { app.Handle(new(userController)) } type userController struct { // [...dependencies] } func (c *userController) PutBy(id uint64, req request) response { return response{ ID: id, Message: req.Firstname + " updated successfully", } } ``` Want to see more? Navigate through [mvc examples](_examples/mvc)! </details> <details><summary>API Guide <strong>HOT</strong></summary> ```go package main import ( // [other packages...] "github.com/kataras/iris/v12" ) func main() { iris.NewGuide(). AllowOrigin("*"). Compression(true). Health(true, "development", "kataras"). Timeout(0, 20*time.Second, 20*time.Second). Middlewares(basicauth.New(...)). Services( // NewDatabase(), // NewPostgresRepositoryRegistry, // NewUserService, ). API("/users", new(UsersAPI)). Listen(":80") } ``` </details> <br/> -->

As one Go developer once said, Iris got you covered all-round and standing strong over the years

Some of the features Iris offers:

  • HTTP/2 (Push, even Embedded data)
  • Middleware (Accesslog, Basicauth, CORS, gRPC, Anti-Bot hCaptcha, JWT, MethodOverride, ModRevision, Monitor, PPROF, Ratelimit, Anti-Bot reCaptcha, Recovery, RequestID, Rewrite)
  • API Versioning
  • Model-View-Controller
  • Websockets
  • gRPC
  • Auto-HTTPS
  • Builtin support for ngrok to put your app on the internet, the fastest way
  • Unique Router with dynamic path as parameter with standard types like :uuid, :string, :int... and the ability to create your own
  • Compression
  • View Engines (HTML, Django, Handlebars, Pug/Jade and more)
  • Create your own File Server and host your own WebDAV server
  • Cache
  • Localization (i18n, sitemap)
  • Sessions
  • Rich Responses (HTML, Text, Markdown, XML, YAML, Binary, JSON, JSONP, Protocol Buffers, MessagePack, Content Negotiation, Streaming, Server-Sent Events and more)
  • Response Compression (gzip, deflate, brotli, snappy, s2)
  • Rich Requests (Bind URL Query, Headers, Form, Text, XML, YAML, Binary, JSON, Validation, Protocol Buffers, MessagePack and more)
  • Dependency Injection (MVC, Handlers, API Routers)
  • Testing Suite
  • And the most important... you get fast answers and support from the 1st day until now - that's six full years!

👑 <a href="https://iris-go.com/donate">Supporters</a>

With your help, we can improve Open Source web development for everyone!

<p> <a href="https://github.com/getsentry"><img src="https://avatars1.githubusercontent.com/u/1396951?v=4" alt="getsentry" title="getsentry" width="75" height="75" style="width:75px;max-width:75px;height:75px" /></a> <a href="https://github.com/github"><img src="https://avatars1.githubusercontent.com/u/9919?v=4" alt="github" title="github" width="75" height="75" style="width:75px;max-width:75px;height:75px" /></a> <a href="https://github.com/lensesio"><img src="https://avatars1.githubusercontent.com/u/11728472?v=4" alt="lensesio" title="lensesio" width="75" height="75" style="width:75px;max-width:75px;height:75px" /></a> <a href="https://github.com/thepunterbot"><img src="https://avatars1.githubusercontent.com/u/111136029?v=4" alt="thepunterbot" title="thepunterbot" width="75" height="75" style="width:75px;max-width:75px;height:75px" /></a> <a href="https://github.com/h4rdc0m"><img src="https://avatars1.githubusercontent.com/u/682256?v=4" alt="h4rdc0m" title="h4rdc0m" width="75" height="75" style="width:75px;max-width:75px;height:75px" /></a> <a href="https://github.com/draFWM"><img src="https://avatars1.githubusercontent.com/u/5765340?v=4" alt="draFWM" title="draFWM" width="75" height="75" style="width:75px;max-width:75px;height:75px" /></a> <a href="https://github.com/gf3"><img src="https://avatars1.githubusercontent.com/u/18397?v=4" alt="gf3" title="gf3" width="75" height="75" style="width:75px;max-width:75px;height:75px" /></a> <a href="https://github.com/trading-peter"><img src="https://avatars1.githubusercontent.com/u/11567985?v=4" alt="trading-peter" titl
View on GitHub
GitHub Stars25.6k
CategoryDevelopment
Updated1h ago
Forks2.5k

Languages

Go

Security Score

100/100

Audited on Mar 20, 2026

No findings