Sha256: b871bcc51607c0b27c9e8bc6fbe22816c3e5113bc3735dcdb786baf009ea70c3

Contents?: true

Size: 1.14 KB

Versions: 99

Compression:

Stored size: 1.14 KB

Contents

module Rack
  # A multipart form data parser, adapted from IOWA.
  #
  # Usually, Rack::Request#POST takes care of calling this.
  module Multipart
    autoload :UploadedFile, 'rack/multipart/uploaded_file'
    autoload :Parser, 'rack/multipart/parser'
    autoload :Generator, 'rack/multipart/generator'

    EOL = "\r\n"
    MULTIPART_BOUNDARY = "AaB03x"
    MULTIPART = %r|\Amultipart/.*boundary=\"?([^\";,]+)\"?|ni
    TOKEN = /[^\s()<>,;:\\"\/\[\]?=]+/
    CONDISP = /Content-Disposition:\s*#{TOKEN}\s*/i
    DISPPARM = /;\s*(#{TOKEN})=("(?:\\"|[^"])*"|#{TOKEN})/
    RFC2183 = /^#{CONDISP}(#{DISPPARM})+$/i
    BROKEN_QUOTED = /^#{CONDISP}.*;\sfilename="(.*?)"(?:\s*$|\s*;\s*#{TOKEN}=)/i
    BROKEN_UNQUOTED = /^#{CONDISP}.*;\sfilename=(#{TOKEN})/i
    MULTIPART_CONTENT_TYPE = /Content-Type: (.*)#{EOL}/ni
    MULTIPART_CONTENT_DISPOSITION = /Content-Disposition:.*\s+name="?([^\";]*)"?/ni
    MULTIPART_CONTENT_ID = /Content-ID:\s*([^#{EOL}]*)/ni

    class << self
      def parse_multipart(env)
        Parser.create(env).parse
      end

      def build_multipart(params, first = true)
        Generator.new(params, first).dump
      end
    end

  end
end

Version data entries

99 entries across 91 versions & 23 rubygems

Version Path
logstash-output-scalyr-0.1.9 vendor/bundle/jruby/2.5.0/gems/rack-1.6.6/lib/rack/multipart.rb
logstash-output-scalyr-0.1.8 vendor/bundle/jruby/2.5.0/gems/rack-1.6.6/lib/rack/multipart.rb
logstash-output-scalyr-0.1.7 vendor/bundle/jruby/2.5.0/gems/rack-1.6.6/lib/rack/multipart.rb
logstash-output-scalyr-0.1.6 vendor/bundle/jruby/2.5.0/gems/rack-1.6.6/lib/rack/multipart.rb
logstash-output-newrelic-1.2.0 vendor/bundle/jruby/2.5.0/gems/rack-1.6.6/lib/rack/multipart.rb
logstash-filter-csharp-0.2.1 vendor/bundle/jruby/2.3.0/gems/rack-1.6.5/lib/rack/multipart.rb
logstash-filter-csharp-0.2.1 vendor/bundle/jruby/2.5.0/gems/rack-1.6.6/lib/rack/multipart.rb
logstash-filter-csharp-0.2.0 vendor/bundle/jruby/2.3.0/gems/rack-1.6.5/lib/rack/multipart.rb
logstash-filter-csharp-0.2.0 vendor/bundle/jruby/2.5.0/gems/rack-1.6.6/lib/rack/multipart.rb
logstash-output-scalyr-0.1.5 vendor/bundle/jruby/2.5.0/gems/rack-1.6.6/lib/rack/multipart.rb
logstash-output-scalyr-0.1.4 vendor/bundle/jruby/2.5.0/gems/rack-1.6.6/lib/rack/multipart.rb
logstash-output-scalyr-0.1.3 vendor/bundle/jruby/2.5.0/gems/rack-1.6.6/lib/rack/multipart.rb
logstash-output-scalyr-0.1.2 vendor/bundle/jruby/2.5.0/gems/rack-1.6.6/lib/rack/multipart.rb
rack-1.6.13 lib/rack/multipart.rb
rack-1.6.12 lib/rack/multipart.rb
rack-1.6.11 lib/rack/multipart.rb
logstash-filter-device_detection-1.0.7-java vendor/bundle/jruby/1.9/gems/rack-1.6.6/lib/rack/multipart.rb
mrcooper-logstash-output-azuresearch-0.2.2 vendor/jruby/2.5.0/gems/rack-1.6.10/lib/rack/multipart.rb
rack-1.6.10 lib/rack/multipart.rb
tdiary-5.0.8 vendor/bundle/gems/tdiary-5.0.7/vendor/bundle/gems/rack-1.6.8/lib/rack/multipart.rb