mirror of
https://github.com/kataras/iris.git
synced 2025-02-02 15:30:36 +01:00
V4 LTS, check the HISTORY.md
This commit is contained in:
parent
fe71a8acbe
commit
5c896b39a5
10
.github/CONTRIBUTING.md
vendored
10
.github/CONTRIBUTING.md
vendored
|
@ -1,16 +1,21 @@
|
|||
##### Note that I do not accept pull requests and that I use the issue tracker for bug reports and proposals only. Please ask questions on the [https://kataras.rocket.chat/channel/iris][Chat] or [http://stackoverflow.com/](http://stackoverflow.com).
|
||||
|
||||
Unless otherwise noted, the Iris source files are distributed
|
||||
under the Apache Version 2 license found in the [LICENSE file](https://github.com/kataras/iris/blob/master/LICENSE).
|
||||
|
||||
## Before Submitting an Issue
|
||||
|
||||
First, please do a search in open issues to see if the issue or feature request has already been filed. If there is an issue add your comments to this issue.
|
||||
|
||||
The Iris project is distributed across multiple repositories, try to file the issue against the correct repository,
|
||||
|
||||
- [Iris - middleware](https://github.com/iris-contrib/middleware/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue)
|
||||
- [Iris - cli and rizla](https://github.com/kataras/rizla/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue)
|
||||
- [Iris - templates](https://github.com/kataras/go-template/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue)
|
||||
- [Iris - sessions](https://github.com/kataras/go-sessions/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue)
|
||||
- [Iris - websocket](https://github.com/kataras/go-websocket/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue)
|
||||
- [Iris - gitbook](https://github.com/iris-contrib/gitbook/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue)
|
||||
- [Iris - examples](https://github.com/iris-contrib/examples/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue)
|
||||
- [Iris - middleware](https://github.com/iris-contrib/middleware/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue)
|
||||
- [Iris - plugin](https://github.com/iris-contrib/plugin/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue)
|
||||
- [Iris - graceful](https://github.com/iris-contrib/graceful/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue)
|
||||
- [Iris - mail](https://github.com/iris-contrib/mail/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue)
|
||||
|
@ -32,9 +37,6 @@ The author answers the same day, perhaps the same hour you post the issue.
|
|||
It is impossible to notify each user on every change, so to be aware of the framework's changes and be notify about updates
|
||||
please **star** or **watch** the repository.
|
||||
|
||||
|
||||
|
||||
|
||||
If your issue is a closed-personal question then please ask that question on [community chat][Chat].
|
||||
|
||||
|
||||
|
|
2
.github/ISSUE_TEMPLATE.md
vendored
2
.github/ISSUE_TEMPLATE.md
vendored
|
@ -1,4 +1,4 @@
|
|||
- Version : **4.6.0**
|
||||
- Version : **V4-LTS**
|
||||
|
||||
- Operating System:
|
||||
|
||||
|
|
9
.github/PULL_REQUEST_TEMPLATE.md
vendored
9
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
@ -1,8 +1,3 @@
|
|||
- [x] I have read the [book](https://www.gitbook.com/book/kataras/iris/details), [examples](https://github.com/iris-contrib/examples), [contributing file](https://github.com/kataras/iris/blob/master/.github/CONTRIBUTING.md) and I'm sure that this worths to be a PR on the Iris repository.
|
||||
If you are interested in contributing to the Iris project, please see the document [CONTRIBUTING](https://github.com/kataras/iris/blob/master/.github/CONTRIBUTING.md).
|
||||
|
||||
- [x] I have opened an issue and discuss this feature/fix with the Community, I got @kataras permission to post this PR.
|
||||
|
||||
- Operating System(s) that this PR was tested:
|
||||
|
||||
|
||||
Description and notes:
|
||||
##### Note that I do not accept pull requests and that I use the issue tracker for bug reports and proposals only. Please ask questions on the [https://kataras.rocket.chat/channel/iris][Chat] or [http://stackoverflow.com/](http://stackoverflow.com).
|
||||
|
|
12
DONATIONS.md
12
DONATIONS.md
|
@ -14,7 +14,7 @@ Feel free to send **any** amount through paypal
|
|||
|
||||
Benefits:
|
||||
|
||||
- Your github username,after your approval, is visible here . I respect your privacy at any case.
|
||||
- Your github username, after your approval, is visible on the top of the README page and here.
|
||||
- Access to the 'donors' [private chat room](https://kataras.rocket.chat/group/donors), real-time assistance by me.
|
||||
- Each donate gives lifetime to the Iris web framework. The author works full-time on this project, no time for any part-time job.
|
||||
|
||||
|
@ -25,7 +25,7 @@ Benefits:
|
|||
|
||||
I'm grateful for all the generous donations. Iris is fully funded by these donations.
|
||||
|
||||
#### Donors
|
||||
#### Donations
|
||||
|
||||
- [Ryan Brooks](https://github.com/ryanbyyc) donated 50 EUR at May 11
|
||||
- [Juan Sebastián Suárez Valencia](https://github.com/Juanses) donated 20 EUR at September 11
|
||||
|
@ -33,13 +33,15 @@ I'm grateful for all the generous donations. Iris is fully funded by these dona
|
|||
- [Celso Luiz](https://github.com/celsosz) donated 50 EUR at September 29
|
||||
- ANONYMOUS(Waiting For Approval) donated 6 EUR at October 1
|
||||
- [Ankur Srivastava](https://github.com/ansrivas) donated 20 EUR at October 2
|
||||
- ANONYMOUS(Waiting For Approval) donated 100 EUR at October 18
|
||||
- ANONYMOUS(Waiting For Approval) donated 20 EUR at October 19
|
||||
|
||||
> The name or/and github username link added after donator's approvement.
|
||||
> The name or/and github username link added after donator's approvement via e-mail.
|
||||
|
||||
#### Report, so far
|
||||
|
||||
- 13 EUR for the domain, [iris-go.com](https://iris-go.com)
|
||||
|
||||
|
||||
**Available**: VAT(50) + VAT(20) + VAT(20) + VAT(50) + VAT(6) + VAT(20) - 13 = 47,45 + 18,97 + 18,61 + 47,05 + 5,34 + 18,97 - 13 =
|
||||
143,139 EUR
|
||||
**Available**: VAT(50) + VAT(20) + VAT(20) + VAT(50) + VAT(6) + VAT(20) + VAT(100) + VAT(20) - 13 = 47,45 + 18,97 + 18,61 + 47,05 + 5,34 + 18,97 + 98,04 +18,97 - 13 =
|
||||
260,14 EUR
|
||||
|
|
51
README.md
51
README.md
|
@ -19,7 +19,7 @@
|
|||
<br/>
|
||||
|
||||
|
||||
<a href="https://github.com/kataras/iris/releases"><img src="https://img.shields.io/badge/%20version%20-%204.6.1%20-blue.svg?style=flat-square" alt="Releases"></a>
|
||||
<a href="https://github.com/kataras/iris/releases"><img src="https://img.shields.io/badge/%20version%20-%204%20LTS%20-blue.svg?style=flat-square" alt="Releases"></a>
|
||||
|
||||
<a href="https://github.com/iris-contrib/examples"><img src="https://img.shields.io/badge/%20examples-repository-3362c2.svg?style=flat-square" alt="Examples"></a>
|
||||
|
||||
|
@ -31,31 +31,21 @@
|
|||
The <a href="https://github.com/kataras/iris#benchmarks">fastest</a> back-end web framework written in Go.
|
||||
<br/>
|
||||
Easy to <a href="https://docs.iris-go.com">learn</a>, while it's highly customizable. <br/>
|
||||
Ideally suited for both experienced and novice <b>Developers</b>.
|
||||
Ideally suited for both experienced and novice Developers.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
## News
|
||||
|
||||
- [Building Web Apps with Iris](http://mycodesmells.com/post/building-web-apps-with-iris) by Paweł Słomka
|
||||
|
||||
- [The fastest web framework for Go](http://marcoscleison.xyz/the-fastest-web-framework-for-go-in-this-earth/) by Marcos Cleison
|
||||
|
||||
- [Testing Iris RESTful API](https://drasko.github.io/2016/09/26/testing-iris-restful-api/) by Drasko Draskovic
|
||||
|
||||
- [Iris vs Nginx vs Php vs Nodejs](https://www.ntossapo.me/2016/08/13/nginx-vs-nginx-php-fpm-vs-go-iris-vs-express-with-wrk/) by Tossapon Nuanchuay
|
||||
|
||||
### Donates
|
||||
I left my job and university to work explicit on Iris, so I'm grateful for all the generous donations[*](DONATIONS.md)
|
||||
**Thanks** to all these generous donations, the Iris project remains a high quality open-source framework
|
||||
|
||||
- [Ryan Brooks](https://github.com/ryanbyyc) donated 50 EUR at May 11
|
||||
- [Juan Sebastián Suárez Valencia](https://github.com/Juanses) donated 20 EUR at September 11
|
||||
- [Bob Lee](https://github.com/li3p) donated 20 EUR at September 16
|
||||
- [Celso Luiz](https://github.com/celsosz) donated 50 EUR at September 29
|
||||
- [Anonymous](https://github.com/kataras/iris/blob/master/DONATIONS.md#donations) donated 6 EUR at October 1
|
||||
- [Ankur Srivastava](https://github.com/ansrivas) donated 20 EUR at October 2
|
||||
|
||||
- [Anonymous](https://github.com/kataras/iris/blob/master/DONATIONS.md#donations) donated 100 EUR at October 18
|
||||
- [Anonymous](https://github.com/kataras/iris/blob/master/DONATIONS.md#donations) donated 20 EUR at October 19
|
||||
|
||||
## Feature Overview
|
||||
|
||||
|
@ -878,43 +868,50 @@ I recommend writing your API tests using this new library, [httpexpect](https://
|
|||
Versioning
|
||||
------------
|
||||
|
||||
Current: **v4.6.1**
|
||||
Current: **V4 LTS**
|
||||
|
||||
> Iris is an active project
|
||||
A new LTS version is released every 6 months
|
||||
|
||||
Read more about Semantic Versioning 2.0.0
|
||||
> LTS stands for Long Term Support
|
||||
|
||||
- http://semver.org/
|
||||
- https://en.wikipedia.org/wiki/Software_versioning
|
||||
- https://wiki.debian.org/UpstreamGuide#Releases_and_Versions
|
||||
|
||||
Todo
|
||||
Todo for the next release
|
||||
------------
|
||||
|
||||
- [ ] Server-side React render, as requested [here](https://github.com/kataras/iris/issues/503)
|
||||
|
||||
|
||||
Iris is a **Community-Driven** Project, waiting for your suggestions and [feature requests](https://github.com/kataras/iris/issues?utf8=%E2%9C%93&q=label%3A%22feature%20request%22)!
|
||||
|
||||
People
|
||||
------------
|
||||
The big thanks goes to [all people](https://github.com/kataras/iris/issues?utf8=%E2%9C%93&q=label%3A%22feature+request%22) who help building this framework with feature-requests & bug reports!
|
||||
|
||||
The author of Iris is [@kataras](https://github.com/kataras). If **you**'re willing to donate, feel **free** to navigate to the [DONATIONS PAGE](https://github.com/kataras/iris/blob/master/DONATIONS.md).
|
||||
The author of Iris is [@kataras](https://github.com/kataras).
|
||||
|
||||
If **you**'re willing to donate and you can afford the cost, feel **free** to navigate to the [DONATIONS PAGE](https://github.com/kataras/iris/blob/master/DONATIONS.md).
|
||||
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
Iris is the work of hundreds of the community's [feature requests](https://github.com/kataras/iris/issues?utf8=%E2%9C%93&q=%20label%3A%22feature%20request%22%20) and [reports](https://github.com/kataras/iris/issues?utf8=%E2%9C%93&q=label%3Abug). I appreciate your help!
|
||||
|
||||
If you are interested in contributing to the Iris project, please see the document [CONTRIBUTING](https://github.com/kataras/iris/blob/master/.github/CONTRIBUTING.md).
|
||||
|
||||
##### Note that I do not accept pull requests and that I use the issue tracker for bug reports and proposals only. Please ask questions on the [https://kataras.rocket.chat/channel/iris][Chat] or [http://stackoverflow.com/](http://stackoverflow.com).
|
||||
|
||||
License
|
||||
------------
|
||||
|
||||
This project is licensed under the [Apache License, Version 2.0](LICENSE), Copyright (c) 2016 Gerasimos Maropoulos.
|
||||
Unless otherwise noted, the Iris source files are distributed
|
||||
under the Apache Version 2 license found in the [LICENSE file](LICENSE).
|
||||
|
||||
|
||||
[Travis Widget]: https://img.shields.io/travis/kataras/iris.svg?style=flat-square
|
||||
[Travis]: http://travis-ci.org/kataras/iris
|
||||
[License Widget]: https://img.shields.io/badge/license-Apache%20Version%202-E91E63.svg?style=flat-square
|
||||
[License]: https://github.com/kataras/iris/blob/master/LICENSE
|
||||
[Release Widget]: https://img.shields.io/badge/release-4.6.1%20-blue.svg?style=flat-square
|
||||
[Release Widget]: https://img.shields.io/badge/release-V4%20LTS%20-blue.svg?style=flat-square
|
||||
[Release]: https://github.com/kataras/iris/releases
|
||||
[Chat Widget]: https://img.shields.io/badge/community-chat%20-00BCD4.svg?style=flat-square
|
||||
[Chat]: https://kataras.rocket.chat/channel/iris
|
||||
|
|
96
http.go
96
http.go
|
@ -3,6 +3,10 @@ package iris
|
|||
import (
|
||||
"bytes"
|
||||
"crypto/tls"
|
||||
"github.com/iris-contrib/letsencrypt"
|
||||
"github.com/kataras/go-errors"
|
||||
"github.com/valyala/fasthttp"
|
||||
"github.com/valyala/fasthttp/fasthttpadaptor"
|
||||
"log"
|
||||
"net"
|
||||
"net/http"
|
||||
|
@ -12,11 +16,6 @@ import (
|
|||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/iris-contrib/letsencrypt"
|
||||
"github.com/kataras/go-errors"
|
||||
"github.com/valyala/fasthttp"
|
||||
"github.com/valyala/fasthttp/fasthttpadaptor"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -65,7 +64,6 @@ var (
|
|||
// MethodTraceBytes "TRACE"
|
||||
MethodTraceBytes = []byte(MethodTrace)
|
||||
/* */
|
||||
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -73,7 +71,6 @@ const (
|
|||
StatusContinue = 100
|
||||
// StatusSwitchingProtocols http status '101'
|
||||
StatusSwitchingProtocols = 101
|
||||
|
||||
// StatusOK http status '200'
|
||||
StatusOK = 200
|
||||
// StatusCreated http status '201'
|
||||
|
@ -88,7 +85,6 @@ const (
|
|||
StatusResetContent = 205
|
||||
// StatusPartialContent http status '206'
|
||||
StatusPartialContent = 206
|
||||
|
||||
// StatusMultipleChoices http status '300'
|
||||
StatusMultipleChoices = 300
|
||||
// StatusMovedPermanently http status '301'
|
||||
|
@ -103,7 +99,6 @@ const (
|
|||
StatusUseProxy = 305
|
||||
// StatusTemporaryRedirect http status '307'
|
||||
StatusTemporaryRedirect = 307
|
||||
|
||||
// StatusBadRequest http status '400'
|
||||
StatusBadRequest = 400
|
||||
// StatusUnauthorized http status '401'
|
||||
|
@ -150,7 +145,6 @@ const (
|
|||
StatusRequestHeaderFieldsTooLarge = 431
|
||||
// StatusUnavailableForLegalReasons http status '451'
|
||||
StatusUnavailableForLegalReasons = 451
|
||||
|
||||
// StatusInternalServerError http status '500'
|
||||
StatusInternalServerError = 500
|
||||
// StatusNotImplemented http status '501'
|
||||
|
@ -168,49 +162,45 @@ const (
|
|||
)
|
||||
|
||||
var statusText = map[int]string{
|
||||
StatusContinue: "Continue",
|
||||
StatusSwitchingProtocols: "Switching Protocols",
|
||||
|
||||
StatusOK: "OK",
|
||||
StatusCreated: "Created",
|
||||
StatusAccepted: "Accepted",
|
||||
StatusNonAuthoritativeInfo: "Non-Authoritative Information",
|
||||
StatusNoContent: "No Content",
|
||||
StatusResetContent: "Reset Content",
|
||||
StatusPartialContent: "Partial Content",
|
||||
|
||||
StatusMultipleChoices: "Multiple Choices",
|
||||
StatusMovedPermanently: "Moved Permanently",
|
||||
StatusFound: "Found",
|
||||
StatusSeeOther: "See Other",
|
||||
StatusNotModified: "Not Modified",
|
||||
StatusUseProxy: "Use Proxy",
|
||||
StatusTemporaryRedirect: "Temporary Redirect",
|
||||
|
||||
StatusBadRequest: "Bad Request",
|
||||
StatusUnauthorized: "Unauthorized",
|
||||
StatusPaymentRequired: "Payment Required",
|
||||
StatusForbidden: "Forbidden",
|
||||
StatusNotFound: "Not Found",
|
||||
StatusMethodNotAllowed: "Method Not Allowed",
|
||||
StatusNotAcceptable: "Not Acceptable",
|
||||
StatusProxyAuthRequired: "Proxy Authentication Required",
|
||||
StatusRequestTimeout: "Request Timeout",
|
||||
StatusConflict: "Conflict",
|
||||
StatusGone: "Gone",
|
||||
StatusLengthRequired: "Length Required",
|
||||
StatusPreconditionFailed: "Precondition Failed",
|
||||
StatusRequestEntityTooLarge: "Request Entity Too Large",
|
||||
StatusRequestURITooLong: "Request URI Too Long",
|
||||
StatusUnsupportedMediaType: "Unsupported Media Type",
|
||||
StatusRequestedRangeNotSatisfiable: "Requested Range Not Satisfiable",
|
||||
StatusExpectationFailed: "Expectation Failed",
|
||||
StatusTeapot: "I'm a teapot",
|
||||
StatusPreconditionRequired: "Precondition Required",
|
||||
StatusTooManyRequests: "Too Many Requests",
|
||||
StatusRequestHeaderFieldsTooLarge: "Request Header Fields Too Large",
|
||||
StatusUnavailableForLegalReasons: "Unavailable For Legal Reasons",
|
||||
|
||||
StatusContinue: "Continue",
|
||||
StatusSwitchingProtocols: "Switching Protocols",
|
||||
StatusOK: "OK",
|
||||
StatusCreated: "Created",
|
||||
StatusAccepted: "Accepted",
|
||||
StatusNonAuthoritativeInfo: "Non-Authoritative Information",
|
||||
StatusNoContent: "No Content",
|
||||
StatusResetContent: "Reset Content",
|
||||
StatusPartialContent: "Partial Content",
|
||||
StatusMultipleChoices: "Multiple Choices",
|
||||
StatusMovedPermanently: "Moved Permanently",
|
||||
StatusFound: "Found",
|
||||
StatusSeeOther: "See Other",
|
||||
StatusNotModified: "Not Modified",
|
||||
StatusUseProxy: "Use Proxy",
|
||||
StatusTemporaryRedirect: "Temporary Redirect",
|
||||
StatusBadRequest: "Bad Request",
|
||||
StatusUnauthorized: "Unauthorized",
|
||||
StatusPaymentRequired: "Payment Required",
|
||||
StatusForbidden: "Forbidden",
|
||||
StatusNotFound: "Not Found",
|
||||
StatusMethodNotAllowed: "Method Not Allowed",
|
||||
StatusNotAcceptable: "Not Acceptable",
|
||||
StatusProxyAuthRequired: "Proxy Authentication Required",
|
||||
StatusRequestTimeout: "Request Timeout",
|
||||
StatusConflict: "Conflict",
|
||||
StatusGone: "Gone",
|
||||
StatusLengthRequired: "Length Required",
|
||||
StatusPreconditionFailed: "Precondition Failed",
|
||||
StatusRequestEntityTooLarge: "Request Entity Too Large",
|
||||
StatusRequestURITooLong: "Request URI Too Long",
|
||||
StatusUnsupportedMediaType: "Unsupported Media Type",
|
||||
StatusRequestedRangeNotSatisfiable: "Requested Range Not Satisfiable",
|
||||
StatusExpectationFailed: "Expectation Failed",
|
||||
StatusTeapot: "I'm a teapot",
|
||||
StatusPreconditionRequired: "Precondition Required",
|
||||
StatusTooManyRequests: "Too Many Requests",
|
||||
StatusRequestHeaderFieldsTooLarge: "Request Header Fields Too Large",
|
||||
StatusUnavailableForLegalReasons: "Unavailable For Legal Reasons",
|
||||
StatusInternalServerError: "Internal Server Error",
|
||||
StatusNotImplemented: "Not Implemented",
|
||||
StatusBadGateway: "Bad Gateway",
|
||||
|
|
6
iris.go
6
iris.go
|
@ -75,8 +75,10 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
// Version is the current version of the Iris web framework
|
||||
Version = "4.6.1"
|
||||
// IsLongTermSupport flag is true when the below version number is a long-term-support version
|
||||
IsLongTermSupport = true
|
||||
// Version is the current version number of the Iris web framework
|
||||
Version = "4"
|
||||
|
||||
banner = ` _____ _
|
||||
|_ _| (_)
|
||||
|
|
Loading…
Reference in New Issue
Block a user