# Chunked Transfer

**URL:** <https://www.ruby-forum.com/t/chunked-transfer/224019>\
**Category:** NGINX\
**Created:** [October 26, 2012, 10:59pm UTC](https://www.ruby-forum.com/t/chunked-transfer/224019 "2012-10-26T22:59:47Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![aris](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/258eb7/32.png) [@aris](https://www.ruby-forum.com/u/aris)\
**Post date:** [October 26, 2012, 10:59pm UTC](https://www.ruby-forum.com/t/chunked-transfer/224019/1 "2012-10-26T22:59:47Z")

</div>

Asking, because the documentation looks like it’s a little outdated on  
this…

Is Chunked Transfer still not enabled OOTB? This would seem like almost  
a mandatory feature of HTTP 1.1 to implement, and the only reference I  
could find is to separate source code/module/patch that I would have to  
download and recompile all of nginx for?

Has it been implemented or added to the default, pre-compiled packages  
and I just can’t see it in the nginx -V output?

I need the ability to upload large content, and this would appear to be  
the proper way to do that.

I’m using CentOS 6.x if anyone knows of an up-to-date version of the  
nginx binaries that includes what is or was “ngx\_chunkin”.

Thanks,  
AJ

---

<div class="post-metadata">

**Author:** ![AJ\_Weber](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/8c91f0/32.png) [@AJ\_Weber](https://www.ruby-forum.com/u/AJ_Weber)\
**Post date:** [October 29, 2012, 11:09am UTC](https://www.ruby-forum.com/t/chunked-transfer/224019/2 "2012-10-29T11:09:02Z")

</div>

Hello!

On Fri, Oct 26, 2012 at 04:58:46PM -0400, AJ Weber wrote:

> I need the ability to upload large content, and this would appear to  
> be the proper way to do that.

I’m working on it, and it’s expected to be available later this  
month.

BTW, if you know examples of real-world use of chunked transfer  
encoding by clients - please let me know. AFAIK no browsers use  
it, and most widespread example I’m aware of is the webdav client  
in Mac OS X.

–  
Maxim D.

> **[F5 NGINX: Built for cloud-native apps. Ready for AI traffic.](https://www.f5.com/products/nginx)**
>
> Deliver modern applications with NGINX. Explore high-performance load balancing, API gateways, and web server solutions trusted by top global enterprises.

---

<div class="post-metadata">

**Author:** ![AJ\_Weber](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/8c91f0/32.png) [@AJ\_Weber](https://www.ruby-forum.com/u/AJ_Weber)\
**Post date:** [October 29, 2012, 11:24am UTC](https://www.ruby-forum.com/t/chunked-transfer/224019/3 "2012-10-29T11:24:13Z")

</div>

On 29 October 2012 10:08, Maxim D. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > I would have to download and recompile all of nginx for?  
> > BTW, if you know examples of real-world use of chunked transfer  
> > encoding by clients - please let me know. AFAIK no browsers use  
> > it, and most widespread example I’m aware of is the webdav client  
> > in Mac OS X.

I wanted to use it in this report-generating pipeline:

bash$ mysql -e ‘generate lots of data’ | perl ‘do some munging’ |  
csvtool ‘make a proper CSV’ | gzip | curl --upload-file -  
[http://my.webdav.endpoint.for.customers/foo/bar.gz](http://my.webdav.endpoint.for.customers/foo/bar.gz)

The fact that the chunkin module wouldn’t work properly with webdav  
due to curl choosing chunking when PUTting stdin, meant I had to break  
this into multiple parts and ensure that curl could upload a complete  
file from disk. I mentioned the issue here:

> **[Chunked input module problem with http\_dav](http://mailman.nginx.org/pipermail/nginx/2012-April/033141.html)**

This increased the complexity of what I was doing, as I now had local  
state on disk that had to be managed/cleaned-up/etc.

## Just my 2 cents, Jonathan

Jonathan M. // Oxford, London, UK

> **[Jonathan Matthews :: Words Typed, Great Rates For Cash](https://www.jpluscplusm.com)**

---

<div class="post-metadata">

**Author:** ![AJ\_Weber](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/8c91f0/32.png) [@AJ\_Weber](https://www.ruby-forum.com/u/AJ_Weber)\
**Post date:** [November 16, 2012, 12:47pm UTC](https://www.ruby-forum.com/t/chunked-transfer/224019/4 "2012-11-16T12:47:41Z")

</div>

Hello!

On Mon, Oct 29, 2012 at 10:23:45AM +0000, Jonathan M. wrote:

> > > reference I could find is to separate source code/module/patch that
> 
> The fact that the chunkin module wouldn’t work properly with webdav  
> due to curl choosing chunking when PUTting stdin, meant I had to break  
> this into multiple parts and ensure that curl could upload a complete  
> file from disk. I mentioned the issue here:  
> [Chunked input module problem with http\_dav](http://mailman.nginx.org/pipermail/nginx/2012-April/033141.html)
> 
> This increased the complexity of what I was doing, as I now had local  
> state on disk that had to be managed/cleaned-up/etc.

JFYI, chunked request body patches are available here:

> **[\[PATCH 00 of 13\] chunked request body support](http://mailman.nginx.org/pipermail/nginx-devel/2012-November/002961.html)**

Review and testing appreciated.

–  
Maxim D.

> **[F5 NGINX: Built for cloud-native apps. Ready for AI traffic.](https://www.f5.com/products/nginx)**
>
> Deliver modern applications with NGINX. Explore high-performance load balancing, API gateways, and web server solutions trusted by top global enterprises.
