Comments (2)
Hello again, We currently need this functionality and I think it could be beneficial to everyone.
Basically, the idea is:
In server
func handle(ctx *fasthttp.RequestCtx) {
// DisableBuffering modifies fasthttp to disable headers and body buffering for this request
ctx.DisableBuffering()
// Write headers
ctx.Response.Header.Set(.....)
ctx.Response.Header.Set(.....)
ctx.Response.Header.Set(.....)
// Write body. Headers will be sent and cannot be modified once the body begins to be dispatched.
// src can be any io.Reader or io.ReaderFrom or any object implementing io.WriteTo
// The process would be unbuffered, well, actually using at most a 32KB buffer
// according to the current io.Copy implementation.
// Ideal for serving large files without storing them on RAM.
io.Copy(ctx, src)
}
It would automatically set the Transfer-Encoding header to "chunked" and chunk the content on the fly.
I can write a PR if you think it makes sense for fasthttp
from fasthttp.
It could make sense but I'm afraid it will be a lot harder to implement correctly than you think. If you can try to make a PR please do.
from fasthttp.
Related Issues (20)
- Ignoring Requests with Long URI HOT 2
- question: Add user level value to connection? HOT 1
- FastHTTP doesn't validate HTTP versions HOT 2
- application/octet-stream header gets added by default in case of a DELETE request without body HOT 4
- question regarding header parsing HOT 1
- sse panic on fasthttphandler HOT 1
- [BUG?]: SSE Handler with Fiber web framework, any http client I have implemented cannot connect.
- Question: Add client.MaxResponseBody*Read*Size? HOT 2
- Bug: fasthttp client connect to Vite dev server on localhost, tcp4 127.0.0.1:5173: connect: connection refused HOT 2
- Support for Prometheus HOT 1
- CloseOnShutdown dont work? HOT 3
- how can i use fasthttp bare minimum "net" library only without routing through the http overhead? just pure tcp rpc stuff will do HOT 1
- What is a correct way to create a proper fasthttp.RequestCtx in the unit tests? HOT 1
- Timeout stream response connection does not clear buffer data for re-use HOT 2
- Propagate request error to RetryIfFunc HOT 1
- Expose `timeout` field in Request HOT 1
- NewFastHTTPHandler does not set response status code. HOT 1
- NewFastHTTPHandler does not set response status code HOT 7
- Error when serving connection "x.x.x.x:443"<->"172.56.198.126:18271": EOF HOT 3
- http parsing of the request line - where does that happen? HOT 1
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 fasthttp.