Permalink
Commits on Aug 14, 2017
  1. Merge pull request #1198 from matthewd/concurrent-event

    Prefer Event over CountDownLatch
    matthewd committed on GitHub Aug 14, 2017
  2. Prefer Event over CountDownLatch

    It's slightly nicer to read, and incidentally avoids a missing require.
    matthewd committed Aug 14, 2017
  3. Merge pull request #1196 from AlexKVal/patch-1

    Fix typos
    matthewd committed on GitHub Aug 14, 2017
Commits on Aug 10, 2017
  1. Fix typos

    AlexKVal committed on GitHub Aug 10, 2017
  2. Fix typos

    AlexKVal committed on GitHub Aug 10, 2017
  3. Merge pull request #1187 from yoshuki/multiple-accel-mapping

    Add multi mapping support via header
    tenderlove committed on GitHub Aug 10, 2017
  4. Merge pull request #1191 from esparta/fix_code_block_http_status_code

    Fix the code block used to generate the HTTP_STATUS_CODES hash
    tenderlove committed on GitHub Aug 10, 2017
Commits on Jul 25, 2017
  1. Merge branch 'fix-jruby'

    rafaelfranca committed Jul 25, 2017
  2. Merge pull request #1193 from tompng/multipart_less_memory

    Reduce memory usage when uploading large file
    rafaelfranca committed on GitHub Jul 25, 2017
  3. Fix test of JRuby

    rafaelfranca committed Jul 25, 2017
  4. Improve documentation about the sync option on deflater

    rafaelfranca committed Jul 25, 2017
  5. Merge remote-tracking branch 'eric-wong/logger-time'

    rafaelfranca committed Jul 25, 2017
Commits on Jul 21, 2017
  1. Merge pull request #1194 from oana-sipos/master

    Add Hanami to the list of frameworks that use Rack.
    rafaelfranca committed on GitHub Jul 21, 2017
  2. reduce memory in multipar parser

    tompng committed Jul 21, 2017
Commits on Jul 20, 2017
  1. Merge pull request #1192 from jkowens/master

    Boost multipart parsing perf by increasing buffer size from 16 KiB to 1 MiB
    jeremy committed on GitHub Jul 20, 2017
Commits on Jul 19, 2017
  1. Increase the parser buffer size

    This increases the buffer size to 1mb to get better performance
    parsing larger files. Buffer sizes of 16kb, 1mb, 10mb, and 100mb
    were compared based on performance and cpu/memory usage.
    jkowens committed Jul 18, 2017
  2. Merge pull request #1179 from tompng/master

    Large file upload performance fix
    jeremy committed on GitHub Jul 19, 2017
Commits on Jul 12, 2017
Commits on Jul 11, 2017
  1. Merge pull request #1190 from hugoabonizio/master

    Update homepage links to be HTTPS
    rafaelfranca committed on GitHub Jul 11, 2017
  2. Merge pull request #1189 from lugray/fix_rack_lock

    Stop replacing the environment in Rack::Lock
    matthewd committed on GitHub Jul 11, 2017
Commits on Jul 10, 2017
  1. Stop replacing the environment in Rack::Lock

    While the flow of environment information is generally downstream only,
    test frameworks sometimes rely on being able to pull information added
    to the environment after `.call`.
    lugray committed Jul 7, 2017
Commits on Jul 3, 2017
Commits on Jun 29, 2017
  1. common_logger: rely on monotonic clock

    As with commit 2474e3a for Rack::Runtime,
    Time.now is inaccurate if system time changes, so do not
    rely on it if a monotonic clock is available.
    Eric Wong committed Jun 29, 2017
  2. deflater: reduce live Time objects

    Only create a Time object if the Last-Modified header exists,
    (immediately use the Integer result of Time#to_).  Otherwise, we
    can rely on the default behavior of Zlib::GzipWriter of setting
    the mtime to the current time.
    
    While we're at it, avoid repeating the hash lookup for
    Last-Modified.
    
    This results in an improvement from 11.0k to 11.4k iterations/sec
    with the following script:
    
    require 'benchmark/ips'
    require 'rack/mock'
    req = Rack::MockRequest.env_for('', 'HTTP_ACCEPT_ENCODING' => 'gzip')
    response = [200, {}, []]
    deflater = Rack::Deflater.new(lambda { |env| response })
    Benchmark.ips do |x|
      x.report('deflater') do
        s, h, b = deflater.call(req)
        b.each { |buf| }
        b.close
      end
    end
    Eric Wong committed Jun 29, 2017
  3. deflater: additional mtime tests

    The next commit will reduce long-lived Time objects.  Regardless
    of whether that commit is acceptable, having extra tests for
    existing mtime behavior cannot hurt.
    
    For testing responses with the Last-Modified header, setting a
    random date in the past should make failure to preserve mtime
    in the gzip header more apparent.
    Eric Wong committed Jun 29, 2017
  4. deflater: support "sync: false" option

    Flushing after after very flush is great for real-time apps.
    However, flushing is inefficient when apps use Rack::Response
    to generate many small writes (e.g.  Rack::Lobster).
    
    Allow users to disable the default "sync: true" behavior to
    reduce bandwidth usage, otherwise using Rack::Deflater can lead
    to using more bandwidth than without it.
    Eric Wong committed Jun 29, 2017
  5. deflater: avoid wasting an ivar slot on @closed

    We can merely set the @body to nil ensure we do not call close
    on the @body, twice.  Saving an ivar slot can save 8 bytes
    per object at minimum, and this makes me feel more comfortable
    about using another ivar for the next commit.
    Eric Wong committed Jun 29, 2017
  6. deflater: rely on frozen_string_literal

    This improves readability of our code and can allow us to
    generate less garbage in Ruby 2.3+ for places where we didn't
    already use constants.  We can also avoid the old constant
    lookups (and associated inline cache overhead) this way.
    Eric Wong committed Jun 29, 2017
Commits on Jun 28, 2017
  1. Partially reverting 8a7a142

    Thanks pmc@citylink.dinoex.sub.org for the patch
    tenderlove committed Jun 28, 2017
Commits on Jun 14, 2017
  1. large file upload performance++

    tompng committed Jun 14, 2017
Commits on May 30, 2017
  1. Require the right file for the digest we're using

    matthewd committed May 30, 2017
Commits on May 15, 2017
  1. Merge pull request #1163 from janko-m/rely-on-size-in-mock-request

    Rely on input responding to #size instead of #length in MockRequest.env_for
    tenderlove committed on GitHub May 15, 2017