Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Gerasimos (Makis) Maropoulos b2cc3a2871
Thanks @syrm @narven @AwsIT @MihaiPopescu1985 @leandrobraga @Ubun1 @coderperu @cshum and @sbenimeli for your kind donations :heart: please check your GitHub notifications for an invitation to download the e-book through https://github.com/kataras/iris-premium
pirms 2 nedēļām
.github remove the 'retract' directive, as it's only available on the latest go release pirms 2 mēnešiem
_benchmarks Thanks @ky2s and @unixedia :heart: :heart: pirms 10 mēnešiem
_examples add iris.IsErrEmptyJSON helper. See HISTORY.md pirms 1 mēnesi
apps add on-site documentation for the new 'apps' subpackage pirms 11 mēnešiem
cache add IsDebug() shortcut method pirms 10 mēnešiem
context fix: supper grpc and grpc web pirms 1 mēnesi
core improve Context.Proceed pirms 1 mēnesi
hero dependency injection: func (...<T>) iris.Handler can be generated to a simple iris handler if <T> are static dependencies pirms 1 mēnesi
httptest Add Strict option to httptest as requested at: #1722 pirms 5 mēnešiem
i18n :) pirms 6 mēnešiem
macro minor: see previous commits pirms 5 mēnešiem
middleware improve Context.Proceed pirms 1 mēnesi
mvc godoc: minor pirms 3 mēnešiem
sessions :) pirms 6 mēnešiem
versioning minor pirms 6 mēnešiem
view upgrade jet parser to version 6 as requested pirms 5 mēnešiem
websocket (#1554) Add support for all common compressions (write and read) pirms 1 gada
.deepsource.toml Merge branch 'master' into master pirms 6 mēnešiem
.fossa.yml Add the new websocket package (which is just a helper for kataras/neffos) and an example for go server, client, browser client and nodejs client. Add a .fossa.yml and the generated NOTICE file for 3rd-party libs. Update go.mod, go.sum. Update the vendor folder for pongo2 to its latest master as well pirms 2 gadiem
.gitattributes minor pirms 1 gada
.gitignore upgrade dependencies pirms 5 mēnešiem
AUTHORS Update to version 8.5.5 | Read HISTORY.md pirms 3 gadiem
CODE_OF_CONDUCT.md Update to version 8.5.5 | Read HISTORY.md pirms 3 gadiem
CONTRIBUTING.md update faq, contributing and go workflow pirms 1 gada
FAQ.md FAQ: minor pirms 11 mēnešiem
HISTORY.md add iris.IsErrEmptyJSON helper. See HISTORY.md pirms 1 mēnesi
HISTORY_ES.md reorganization of _examples and add some new examples such as iris+groupcache+mysql+docker pirms 1 gada
LICENSE minor: typo pirms 6 mēnešiem
NOTICE API versioning improvements pirms 6 mēnešiem
README.md Thanks @syrm @narven @AwsIT @MihaiPopescu1985 @leandrobraga @Ubun1 @coderperu @cshum and @sbenimeli for your kind donations :heart: please check your GitHub notifications for an invitation to download the e-book through https://github.com/kataras/iris-premium pirms 2 nedēļām
README_ES.md minor pirms 5 mēnešiem
README_FA.md Update README_FA.md pirms 2 mēnešiem
README_FR.md minor pirms 5 mēnešiem
README_GR.md minor pirms 5 mēnešiem
README_KO.md minor pirms 5 mēnešiem
README_RU.md minor pirms 5 mēnešiem
README_ZH.md minor pirms 5 mēnešiem
VERSION accesslog middleware: add total bytes received and sent pirms 10 mēnešiem
aliases.go add iris.IsErrEmptyJSON helper. See HISTORY.md pirms 1 mēnesi
cli.go :) pirms 6 mēnešiem
configuration.go respect the iris.WithEmptyFormError option on Context.ReadQuery too pirms 5 mēnešiem
configuration_test.go Add Configuration.RemoteAddrHeadersForce as requested at #1567 and change RemoteAddrHeaders from map to string slice pirms 1 gada
doc.go implement #1536 with (SetRegisterRule(iris.RouteOverlap)) pirms 1 gada
go.mod upgrade all dependencies into master pirms 2 nedēļām
go.sum upgrade all dependencies into master pirms 2 nedēļām
iris.go New iris.WithKeepAlive(time.Duration) Configurator is added as a helper to enable TCP listener featured with keep-alive pirms 6 mēnešiem

README.md

Black Lives Matter

News

This is the under-development branch. Stay tuned for the upcoming release v12.2.0. Looking for a stable release? Head over to the v12.1.8 branch instead.

Try the official Iris Command Line Interface today!

Due to the large workload, there may be delays in answering your questions.

Iris Web Framework

build status view examples chat donate

Iris is a fast, simple yet fully featured and very efficient web framework for Go.

It provides a beautifully expressive and easy to use foundation for your next website or API.

Simple Handler
package main

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

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()
  app.Handle("PUT", "/users/{id:uint64}", updateUser)
  app.Listen(":8080")
}

func updateUser(ctx iris.Context) {
  id, _ := ctx.Params().GetUint64("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 for more!

Handler with custom input and output arguments

Interesting? Read the examples.

MVC
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!

Learn what others saying about Iris and star this open-source project to support its potentials.

👑 Supporters

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

Donations from China are now accepted!

Sylvain Robez-Masson Pedro Luz Aws Shawkat Mihai Popescu Leandro Quadros Durães Braga Nikita Kretov EDGAR MAMANI Shum Chun Ming Salvador Benimeli Fenolla Vytis Valentinavičius Daniel Ha Samuel Antônio Das Neves Agile Data Inc Mark Berner Guilherme Rosado Bob McAllan Alexander Grining Edwin García Martínez Ian Tuan Artem Stavischansky Vladimir Petukhov 劉品均 Carlos Moran Peter Riemenschneider Primadi Setiawan Mubariz Ahmed Peter Kaske Paul Xu David Shaw Stone Travel Tan Andre Dias Rafael Francischini Heyuan Li Rainer Gevers Matic Zarnec Navid Dezashibi Sky Lee Richard Bondi Anthonius Prinslo Vladimir George Fourikis Александр Лебединский Li Yang Qianyu Zhou anilpdv CAO HOAI BAO Oscar Hernandez Gerard Lancea neulhan xushiquan Matt Ľuboš Pinteš Leighton McKeen Weliam simranjit singh Kenneth Jordan Morlé Koudeka Rui Carlos Augusto Horst Ender Pavithran MULYAWAN SENTOSA KIT UNITED Ricardo Hernandez Lopez ChinChuanKuo Nikhar Saxena Servio Zambrano Nate Anderson Claude Muller Marco Moeser Sanketh P B Vu Hoang Lam Dimitar Trifonov Midhubalan Balasubramanian AANAND NATARAJAN Edsongley Almeida ganben Tejus Pratap cui hexiang tinawang Juan David Parra Pimiento Andy Chong Ying Zhi Kevin Zhou Jasper Simranjit Singh Christopher Lamm 叶峻峣 TSAI LI TING zhutao George Alexiou Jobert Azares Tam Nguyen 
Venkatt Guhesan Anibal C C Budaye ARAN ROKA Valentine Chakravarthy Raghunandan Massimiliano Bertinetti Hieu Trinh J.T. Feng Gabor Lekeny LiHaotian Muyang Li Hao Tu Cetin Basoz Hazmi Amalul Rémy Deme Vincent Li Max Trense Matej Lach Joseph De Paola Damon Blais 陆 轶丰 Weihang Ding Li Fang TechMaster lenses.io Celso Souza Altafino Thomas Fritz Conrad Steenberg Damon Zhao George Opritescu Juanses Ankur Srivastava Lex Tang li3p

📖 Learning Iris

Create a new project

$ mkdir myapp
$ cd myapp
$ go mod init myapp
$ go get github.com/kataras/iris/v12@master # or @v12.2.0-alpha2
Install on existing project
$ cd myapp
$ go get github.com/kataras/iris/v12@master
Install with a go.mod file
module myapp

go 1.16

require github.com/kataras/iris/v12 master

Run

$ go mod download
$ go run main.go
# OR just:
# go run -mod=mod main.go

Iris contains extensive and thorough documentation making it easy to get started with the framework.

For a more detailed technical documentation you can head over to our godocs. And for executable code you can always visit the ./_examples repository's subdirectory.

Do you like to read while traveling?

Book cover

follow author on twitter

follow Iris web framework on twitter

follow Iris web framework on facebook

You can request a PDF and online access of the Iris E-Book (New Edition, future v12.2.0+) today and be participated in the development of Iris.

🙌 Contributing

We'd love to see your contribution to the Iris Web Framework! For more information about contributing to the Iris project please check the CONTRIBUTING.md file.

List of all Contributors

🛡 Security Vulnerabilities

If you discover a security vulnerability within Iris, please send an e-mail to iris-go@outlook.com. All security vulnerabilities will be promptly addressed.

📝 License

This project is licensed under the BSD 3-clause license, just like the Go project itself.

The project name “Iris” was inspired by the Greek mythology.