Comments (2)
@hmgle thanks for the investigation and really interesting benchmarks!
I think having fork for fasthttp would be the best option here right now, though.
We're really excited about Go 1.7's built-in context, which will allow us to simplify chi, remove interface{}
args and use the standard http.Handler signatures:
func Handler(w http.ResponseWriter, r *http.Request) {
user, ok := r.Context().Value("user")
// do something
})
Please, check out https://github.com/pressly/chi/tree/v2 branch.
If we were to support fasthttp and its custom signatures func(ctx context.Context, fctx *fasthttp.RequestCtx)
, we'd have to maintain a lot more again.
Fasthttp seems to be really fast, but I wonder about missing HTTP 2 support and Go 1.7's request context.
We may have fasthttp as a chi subpkg one day. But I doubt it could happen anytime soon because of maintainability issues.
import "github.com/pressly/chi/fasthttp
func main() {
r := chi.NewRouter()
r.Get("/", func(ctx context.Context, fctx *fasthttp.RequestCtx) {
w.Write([]byte("hi"))
})
http.ListenAndServe(":3333", r)
}
from chi.
@VojtechVitek I agree.
Fasthttp had the advantage of a good performance, but at the same time it is incompatible with net/http
. It would not benefit from net/http
standardization.
from chi.
Related Issues (20)
- bug: HandlerFunc does not support HTTP methods in patterns like #897
- Huma not respecting API Gateway path? HOT 1
- r.With(paginate) in documentation HOT 1
- When registering a custom Middleware and a custom NotFoundHandler, both are executed when a 404 URL is loaded HOT 1
- Custom middleware recovery having to be duplicated HOT 1
- How to pass information back to middleware? HOT 3
- v5 response does not implement http.Hijacker HOT 2
- High CPU usage by chi.setPathValue HOT 2
- middleware.Compress should by default compress `text/xml`, `application/xml`, and arguably `text/*` HOT 3
- Special characters added to pages due to compression on v5.0.13 HOT 11
- Coraza WAF Middleware
- weird conflict of router HOT 2
- How to write 500 status code after `basicWriter.Write` returns error?
- Not all middlewares are present in `chi.Walk`
- Wildcard matching with regex pattern is not correctly parsing the path values HOT 1
- Chi router not invoking custom not found handler
- OpenTelemetry Middleware Proposal HOT 2
- Broken chi.URLParam return empty string
- Sub-routers returning 404 when using `middleware.SupressNotFound` on parent router
- Middleware derived from Goji seems to be missing copyright notices HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chi.