文件名称:oxy:用于HTTP服务器和代理的中间件
文件大小:97KB
文件格式:ZIP
更新时间:2024-03-14 00:49:38
Go
含氧量 Oxy是一个带有HTTP处理程序的Go库,可增强HTTP标准库: 重试并缓冲请求和响应 通过请求,支持具有可配置刷新间隔的分块编码 请求转发到远程位置和重写头 是循环负载均衡器 Hystrix型断路器 同时连接限制器 速率限制器(基于令牌桶算法) 结构化请求和响应记录器 它旨在与http标准库完全兼容,易于自定义和重用。 状态 初步设计完成 测试覆盖 在用作反向代理引擎 快速开始 每个处理程序都是http.Handler ,因此编写和插入中间件很容易。 让我们编写一个简单的反向代理作为示例: 简单的反向代理 import ( "net/http" "github.com/vulcand/oxy/forward" "github.com/vulcand/oxy/testutils" ) // Forwards incoming requests to whate
【文件预览】:
oxy-master
----trace()
--------trace_test.go(3KB)
--------trace.go(7KB)
----.gitignore(292B)
----README.md(3KB)
----utils()
--------netutils.go(5KB)
--------dumpreq.go(1KB)
--------source.go(2KB)
--------handler_test.go(703B)
--------netutils_test.go(2KB)
--------dumpreq_test.go(650B)
--------auth.go(1KB)
--------handler.go(2KB)
--------auth_test.go(1KB)
----testutils()
--------utils.go(4KB)
----cbreaker()
--------cbreaker.go(10KB)
--------fallback.go(3KB)
--------predicates_test.go(2KB)
--------predicates.go(5KB)
--------ratio.go(2KB)
--------cbreaker_test.go(9KB)
--------ratio_test.go(1KB)
--------effect.go(2KB)
----connlimit()
--------connlimit_test.go(3KB)
--------connlimit.go(4KB)
----LICENSE(11KB)
----roundrobin()
--------RequestRewriteListener.go(170B)
--------rebalancer_test.go(12KB)
--------rebalancer.go(12KB)
--------rr_test.go(5KB)
--------rr.go(8KB)
--------stickysessions.go(2KB)
--------stickysessions_test.go(9KB)
----go.mod(892B)
----forward()
--------fwd.go(16KB)
--------post_config.go(71B)
--------rewrite.go(2KB)
--------fwd_test.go(12KB)
--------headers.go(2KB)
--------fwd_websocket_test.go(19KB)
--------post_config_18.go(860B)
--------rewrite_test.go(1KB)
----memmetrics()
--------anomaly_test.go(4KB)
--------counter_test.go(583B)
--------anomaly.go(3KB)
--------ratio.go(3KB)
--------roundtrip.go(7KB)
--------histogram.go(5KB)
--------roundtrip_test.go(4KB)
--------ratio_test.go(4KB)
--------counter.go(4KB)
--------histogram_test.go(4KB)
----go.sum(5KB)
----.travis.yml(384B)
----ratelimit()
--------bucketset_test.go(6KB)
--------tokenlimiter_test.go(9KB)
--------tokenlimiter.go(6KB)
--------bucket_test.go(10KB)
--------bucketset.go(3KB)
--------bucket.go(4KB)
----buffer()
--------buffer_test.go(11KB)
--------buffer.go(13KB)
--------retry_test.go(3KB)
--------threshold.go(5KB)
----Makefile(1KB)
----stream()
--------stream.go(3KB)
--------threshold.go(5KB)
--------stream_test.go(9KB)