🤡Welcome
TODO: replace the clown with some friendlier emoji
Indigo is a light-weight and extendable web-framework focused on API, built on top of custom HTTP core. It ships with a great performance and powerful built-in router, which includes the following features:
Groups
Middlewares
Mutators (pre-middlewares)
Path catchers
Static files distribution
Extended errors handling
You can handle basically caused by HTTP core or router
Really fast dynamic routing
Automatic path normalization without redirecting
...and many other features
Custom HTTP core is written to be as performant as it theoretically can. It utilizes SIMD extensions in HTTP parser and is heavily optimized, yet staying readable and maintainable. Using it allows us to reach the peak-performance, which can't be done using net/http
, and at the same time stays flexible and configurable. No setting is hard-coded: you can adjust everything via config.Config
. Other key features includes:
Stream-based approach to body handling — you can read request's body lazily, as it arrives
Native HTTPS support
Using self-signed certificates for localhost and IP interfaces and autocert for domains. However, own certificates can be used, too
Cookies support
Forced and graceful stop
Connection hijacking
Both HTTP/1.0 and HTTP/1.1 support, HTTP/2 soon
Automatic Allow-header on 405 Method Not Allowed errors and TRACE-requests processing
Implicit redirects
Changes request path implicitly inside the server, without letting the browser know about it
...and others
Last updated