https://github.com/xsxo/regnhttp
High Performance GoLang Client
https://github.com/xsxo/regnhttp
client golang http http-client http2 http3
Last synced: 7 days ago
JSON representation
High Performance GoLang Client
- Host: GitHub
- URL: https://github.com/xsxo/regnhttp
- Owner: xsxo
- License: apache-2.0
- Created: 2024-11-16T08:37:46.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-11-05T02:49:36.000Z (3 months ago)
- Last Synced: 2025-11-05T04:20:37.080Z (3 months ago)
- Topics: client, golang, http, http-client, http2, http3
- Language: Go
- Homepage: https://pkg.go.dev/github.com/xsxo/regnhttp
- Size: 208 KB
- Stars: 9
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Notice: NOTICE
Awesome Lists containing this project
README
## `REGNHTTP`
[](https://pkg.go.dev/github.com/xsxo/regnhttp)
[](https://github.com/xsxo/regnhttp/actions/workflows/go.yml)
**regnhttp is high performance http client (low level) [example](https://github.com/xsxo/regnhttp/tree/main/examples/default-example)**
## install package
```
go get -u github.com/xsxo/regnhttp
```
## update
```
go get -u github.com/xsxo/regnhttp@latest
```
## Features
- `Connect` Function (create connection with server before send requests)
- Reuse Request & Response object instead of creating a new one
- Reuse the same buffer to Reducing pressure on The Garbage Collector by `sync.Pool`
- No Thread Race | No Data Lose (all objects operate independently)
- Full control of client buffer `cleint.WriteBufferSize` and `client.ReadBufferSize`
- Full control of connection `client.Connection` & `client.TLSConfig` & `client.NagleOff`
- Full control of objects buffer `Request(bufferSize)` and `Request(Response)`
- Get the request & response as a raw `Request.Raw` & `Response.Raw`
## May not for you
- need to know the response & response buffer size
- no support pool connections (to avoid keep save open dead connections)
- no support streaming requests
- no support compresser responses
! the regnhttp package is for normal requests & responses, not for full HTTP protocol support.
For other use cases, net/http may be a better choice, as it fully supports the HTTP protocol