Issue #8370 has been updated by Leif Eriksen.


Well I'm only trying to solve the problem in the CGI library, not the underlying web server, and the only place that will reference MAX_MULTIPART_LENGTH is in the request parsing. That happens only in the CGI constructor. I dont think I should stray too far from that use-case.

If a user does not specify a MAX_MULTIPART_LENGTH in the constructor, it will default to 128 * 1024 *1024 bytes. Otherwise a user can specify a new length, or a lambda that will calculate it at parse time (say there is a need to query the file system, or get a size from a users account etc).

I will add a getter/setter pair, though I cant think of a use-case for them. But Makoto did mention using an instance variable, so might as well complete that part.

I'll go ahead with this plan, and note the commit/pull-request in my next comment. 

----------------------------------------
Bug #8370: Constants MAX_MULTIPART_LENGTH in cgi\core.rb
https://bugs.ruby-lang.org/issues/8370#change-47080

* Author: Takeyuki FUJIOKA
* Status: Open
* Priority: Normal
* Assignee: Takeyuki FUJIOKA
* Category: lib
* Target version: current: 2.2.0
* ruby -v: ruby 2.1.0dev (2013-05-03 trunk 40571) [x86_64-darwin12.3.0]
* Backport: 
----------------------------------------
=begin
: Reported by Andreas Kraus via gmail.

  hi xibbar,

  I try to understand why the MAX_MULTIPART_LENGTH is a Constant and i can't change it.
  If i uload a Multipart file which is larger than 128 MB raise an error "too large multipart data.",
  but why i can't change this value to upload larger files.

  The Constant comes with this Change:
  ((<URL:https://github.com/ruby/ruby/commit/10e9b638069d9e40233242693814b86c672e423e#lib/cgi/core.rb>))

  The only sense i see, is that the Author of cgialt uses max 128MB files und build in this Constant ...

  I would like to know why this constant is in place and how to change it's behaviour.
  My requirement is to upload files larger than the given limit of 128MB.

  regards,
  Andreas
=end




-- 
https://bugs.ruby-lang.org/