Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Httpx | 4,579 | 5 | 4 days ago | 59 | July 31, 2022 | 17 | mit | Go | ||
httpx is a fast and multi-purpose HTTP toolkit that allows running multiple probes using the retryablehttp library. | ||||||||||
Script | 3,483 | 22 | 3 months ago | 37 | June 02, 2022 | 30 | mit | Go | ||
Making it easy to write shell-like scripts in Go | ||||||||||
Falcore | 464 | 9 years ago | March 13, 2012 | 5 | mit | Go | ||||
Modular HTTP server framework for Go | ||||||||||
Blaze | 326 | 2 | 7 | a month ago | 60 | August 29, 2021 | 84 | apache-2.0 | Scala | |
Blazing fast NIO microframework and Http Parser | ||||||||||
Sasila | 264 | 3 years ago | 17 | December 13, 2017 | 1 | apache-2.0 | Python | |||
一个灵活、友好的爬虫框架 | ||||||||||
Mallet | 227 | 20 days ago | 11 | Java | ||||||
Mallet is an intercepting proxy for arbitrary protocols | ||||||||||
File.d | 209 | 3 days ago | 34 | August 09, 2022 | 35 | bsd-3-clause | Go | |||
A blazing fast tool for building data pipelines: read, process and output events. Our community: https://t.me/file_d_community | ||||||||||
Httpit | 170 | a month ago | 9 | May 07, 2021 | 6 | mit | Go | |||
A rapid http(s) benchmark tool written in Go | ||||||||||
Http Request Plugin | 147 | 5 | 15 days ago | 25 | March 23, 2017 | 5 | mit | Java | ||
This plugin does a request to an url with some parameters. | ||||||||||
Kestrelapp | 100 | 3 months ago | mit | C# | ||||||
基于Kestrel的网络编程应用示例 |
The Fitstar fork has tons of updates that break backwards compatibility so we are leaving this repo live for reference of the older interfaces. It will no longer be maintained here, though so you should upgrade to the Fitstar fork.
Falcore is a framework for constructing high performance, modular HTTP servers in Golang.
GoPkgDoc hosts code documentation for this project.
Falcore is a filter pipeline based HTTP server library. You can build arbitrarily complicated HTTP services by chaining just a few simple components:
RequestFilters
are the core component. A request filter takes a request and returns a response or nil. Request filters can modify the request as it passes through.ResponseFilters
can modify a response on its way out the door. An example response filter, compression_filter
, is included. It applies deflate
or gzip
compression to the response if the request supplies the proper headers.Pipelines
form one of the two logic components. A pipeline contains a list of RequestFilters
and a list of ResponseFilters
. A request is processed through the request filters, in order, until one returns a response. It then passes the response through each of the response filters, in order. A pipeline is a valid RequestFilter
.Routers
allow you to conditionally follow different pipelines. A router chooses from a set of pipelines. A few basic routers are included, including routing by hostname or requested path. You can implement your own router by implementing falcore.Router
. Routers
are not RequestFilters
, but they can be put into pipelines.Falcore is currently targeted at Go 1.0. If you're still using Go r.60.x, you can get the last working version of falcore for r.60 using the tag last_r60
.
Check out the project into $GOROOT/src/pkg/github.com/ngmoco/falcore. Build using the go build
command.
See the examples
directory for usage examples.
To use falcore to serve HTTPS, simply call ListenAndServeTLS
instead of ListenAndServe
. If you want to host SSL and nonSSL out of the same process, simply create two instances of falcore.Server
. You can give them the same pipeline or share pipeline components.