ChangeLog from yhbt.net/http_spew.git

commit 9627a9f5e2c4673b2e7f98d4877d631597c9f2ee
Author: Eric Wong <normalperson@yhbt.net>
Date:   Sat Sep 22 17:01:02 2012 -0700

    http_spew 0.4.1

    Fix formatting of user-supplied headers.

commit 9597ec51093b2248eb6e22dc4bd5b5057ed3261c
Author: Eric Wong <normalperson@yhbt.net>
Date:   Sat Sep 22 16:59:49 2012 -0700

    headers: fix swapping of "_" for "-"

    This breaks on some strict HTTP parsers.

commit 0e7be47dae62ffbbb5f69d42daea21e4f66ead0c
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Nov 3 00:23:03 2011 +0000

    http_spew 0.4.0

    Bump kgio dependency to the latest version to remove
    need for IO#wait.

commit b11b3d1b4212b5d6a8df12d365eeee50668439e1
Author: Eric Wong <normalperson@yhbt.net>
Date:   Mon Oct 31 17:25:49 2011 -0700

    use kgio_wait_readable instead of IO#wait

    Newer kgio (2.5 and later) expose an optional timeout for
    kgio_wait_readable.  IO#wait will unnecessarily call ioctl(2)
    with FIONREAD.

commit 1817385f5e72515d64c3b1296bc20af8b0c0423a
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Jun 9 14:02:58 2011 -0700

    gemspec: update kcar dependency

    kcar 0.3.0 has minor improvements

commit b53bbc7852d9788099e514b54a0b90d82a3338bb
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed May 11 23:25:49 2011 +0000

    http_spew 0.3.0 - ContentMD5 improvements

    There are minor changes to HTTP_Spew::ContentMD5:
    * allow optional input param to initialize
    * update bytes_digested for incomplete xfers

    Still not API-stable, but maybe it's closer...

commit 9d42089445aa2b61a50bf9a57a6f839569f4a1d4
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed May 11 21:05:04 2011 +0000

    content_md5: update bytes_digested for incomplete xfers

    Being able to track progress is good.

commit 1a71f9204211061460e05e92c5523744b9b18afb
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed May 11 20:08:20 2011 +0000

    content_md5: optional input param to initialize

    This allows users to specify an alternate input without
    modifying the Rack +env+.  This is potentially useful for
    chaining other filters.

commit 84eaf4df3da4ef55e21649b971f2f246ab556b52
Author: Eric Wong <normalperson@yhbt.net>
Date:   Tue May 10 14:40:53 2011 -0700

    http_spew 0.2.0 - bugfixes and improvements

    InputSpray may now be layered on top of ContentMD5 successfully.
    Improved multi-threading abilities and tests.

    Do not consider the API remotely stable, yet.

commit 02e333f025fb31e3384941c8c890b94394f98c34
Author: Eric Wong <normalperson@yhbt.net>
Date:   Mon May 9 12:07:14 2011 -0700

    test: disable rewindable input for Unicorn

    In most cases, it's a feature we do not want.

commit c4b3c9d4231655b053472d47046d5512e55a79a9
Author: Eric Wong <normalperson@yhbt.net>
Date:   Mon May 9 19:03:27 2011 +0000

    request: fix bad constant reference

    Oops :<

commit 8849da940687bd6433cf4b18cb4096f6867f3b3e
Author: Eric Wong <normalperson@yhbt.net>
Date:   Mon May 9 18:32:28 2011 +0000

    content_md5: switch back to pipe for tee-ability

    This will save memory bandwidth down the line on Linux

commit 8c47ed775e7d40291660354bff29efea3d6f177a
Author: Eric Wong <normalperson@yhbt.net>
Date:   Sat May 7 02:20:28 2011 +0000

    content_md5: small garbage reduction

    Might help somewhere...

commit ec0ff47df8c4068da2977cc9cb444caaac17b571
Author: Eric Wong <normalperson@yhbt.net>
Date:   Sat May 7 01:52:16 2011 +0000

    improve reliability of input_spray

    Use pipes to avoid race condidions and deadlocks

commit 8157576344b9fcf98e85aafcc958c6ebe385b55b
Author: Eric Wong <normalperson@yhbt.net>
Date:   Fri May 6 20:38:43 2011 +0000

    update to kgio 2.4.0

    Kgio.poll no longer returns EINTR

commit af2462a69eae821d6160fd2c2e571a589088977c
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu May 5 16:53:53 2011 -0700

    chunky_pipe: better error checking

commit 58ec2331a74ae472694fddae03f4ff454a801444
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu May 5 16:53:04 2011 -0700

    test_request: longer timeout for tests

    This increases reliability, hopefully

commit 014cfa31df238a6b7a7e1652442613eed841b757
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed May 4 18:11:22 2011 -0700

    class_methods: fix race/deadlock issues

commit 254b6917d15d4bc013d9ca6889dc802b41592903
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 17:53:14 2011 -0700

    GNUmakefile: version file is added to gem

    It's kinda useless otherwise...

commit 20fc09850031fb0a26f71ceafd15c93b924582f9
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 17:44:01 2011 -0700

    content_md5: stop using a pipe + thread

    Too complex.

commit 7ac87f270c2583262ea923960c7cbb8a9b1f2dea
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 17:43:41 2011 -0700

    test_upload: more robust test case

    Servers can be super fast.

commit 5e7e0553b7b435940afd478b83ebc265f31fdcf3
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 17:43:13 2011 -0700

    test_upload: fix timeout for seconds

    HTTP_Spew.wait is now in seconds, not milliseconds

commit 33ae61959c657b5c60c2b7d9adb137ad46b24a15
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 16:53:13 2011 -0700

    request: handle EOF on read properly

    "eof!" was never a method :x

commit f524b02e638cf6ec138f92538cf169edf524326c
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 16:52:34 2011 -0700

    content_md5: use kgio_write instead of IO#write

    for consistency, not that we really take advantage
    of kgio_write at the moment...

commit 3dd4f8c357b687bc1bf47785253e84cd7caa4661
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 16:52:07 2011 -0700

    input_spray: kill needless ivar assignment

    Nothing references the writer thread.

commit b3dc72f3762b737bfc5dbed2d3d296a61879dc09
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 16:51:23 2011 -0700

    test/helper: use Thread.abort_on_exception = true

    We want to detect failures during testing and fail hard

commit bde96ebe0c31508a4128542fce8753ba5e7403d7
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 16:09:18 2011 -0700

    remove timed_queue class

    We don't need it, a mutex is all we need.

commit 9e5c03f84e4961d236398d416d526eef8344f98f
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 15:42:53 2011 -0700

    auto-generate version.rb file based on git version

    It's helpful for people using in-development versions
    of the code.

commit 6657070f27364688bba503c7e58add6dfe4dd8bf
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 15:34:20 2011 -0700

    reorganize class methods and exceptions

    Also none of the exceptions we raise are for programming/user
    so don't bother generating an expensive backtrace.

commit 100c23e10910bb8daff5507fd69f5d951b804672
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 15:12:27 2011 -0700

    request: support limiting accepted response codes

    Some apps don't want certain responses and we won't
    treat that as valid.

commit 67e23586d908eeed510508405dcdbee1dc5f9033
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 14:49:06 2011 -0700

    wait_mt: simplify

commit d2e882bdf763319ab149044440fe9bf108d46bc4
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 14:29:26 2011 -0700

    timed_queue: fix unused variable warning

commit 87cb2f5328bc20245a53a8462e6c1324c977189e
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 14:17:20 2011 -0700

    content_md5: make this a read-only IO-like object

    It's easier to use this way since we'll also be able
    to see the Content-MD5 and number of bytes digested.

commit 4a3f8cae93d12ebea896227e789d01912a3d55f3
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Apr 20 14:01:39 2011 -0700

    chunky_pipe: autoclose on EOF

    Since env["rack.input"] can't reliably be closed any
    other way.

commit 0b6c35740ab1dd0ac64183b9ae0f1a5c710e4022
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Apr 14 15:19:02 2011 -0700

    timeouts are in seconds, not milliseconds

    It's more consistent with other Ruby code.  poll(2)
    (and epoll(2)) remain exception to that, so the
    Ruby wrappers for those calls still use milliseconds.

commit 9e727f32a6e3506994934b9a48204ffdf0003bca
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Apr 14 21:56:48 2011 +0000

    allow combining input_spray + MD5 filter

    This is required for large parallel uploads.

commit 3aa054616bae3184ead01e78d70a707b59f71e63
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Apr 14 20:59:59 2011 +0000

    Gemfile: depend on Unicorn 3 for tests

    We need trailer support

commit b35f0d9bcdd3551bcdf2b5285c92197767fde496
Author: Eric Wong <normalperson@yhbt.net>
Date:   Fri Apr 8 06:15:04 2011 +0000

    timed_queue: Queue-like class that works with a timeout

commit 3db374e644014726092913eee7a4f09d15f6762c
Author: Eric Wong <normalperson@yhbt.net>
Date:   Tue Apr 5 17:37:54 2011 -0700

    chunky_pipe: rdoc purpose of this class

commit aac364b03306b1ba6ac65c325d946db4b0af02bd
Author: Eric Wong <normalperson@yhbt.net>
Date:   Tue Apr 5 17:34:01 2011 -0700

    content_md5: cleaner pack invocation (Ruby 1.9-only)

    No need to String#strip!

commit c78c63adde85f0b329b44484ae652b0acdee4063
Author: Eric Wong <normalperson@yhbt.net>
Date:   Fri Mar 18 14:23:51 2011 -0700

    doc: various rdoc updates

    Forcing myself to relearn my own library

commit cfa6c6b329ae44ae4f30a590d45e5df4c2d14d9a
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Mar 17 14:44:06 2011 -0700

    tests: cleanup shadow warnings under 1.9.2

commit 1216ec9fc829c8c65f0f8ae2376138b90a1083d3
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Mar 17 21:19:54 2011 +0000

    pkg.mk: new task for checking Ruby warnings

commit efcb08f789d60ebec26eadaada9af09593fedb9b
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Mar 16 01:11:05 2011 +0000

    remove needless assignments

    More noise

commit 6ce8e006a94a852ed76ffeababa1cac2ed7889c0
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Mar 16 01:06:22 2011 +0000

    content_md5: improve readability

commit 61c1164c39886a198d33697c14c9abf099e3e08f
Author: Eric Wong <normalperson@yhbt.net>
Date:   Wed Mar 16 00:31:25 2011 +0000

    use bundler

commit 2318ee6a732f71d38a7749c0663bf780135be49c
Author: Eric Wong <normalperson@yhbt.net>
Date:   Mon Feb 28 04:27:26 2011 +0000

    gemspec: bump kcar version

    Newer is better

commit 32223af63dc5296cd09f2472ad60263d98f379a2
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Feb 24 08:28:34 2011 +0000

    HTTP spew 0.1.0 - initial release

    Might as well...

commit e11489549eefff5ae031f2127bc72efe8187f938
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Feb 24 08:48:14 2011 +0000

    fixes for Ruby 1.9.3dev

    1.9.3dev got louder about warnings and more careful about
    shared strings.

commit aefc248decd16db8098fef6148ed825e83bebfc1
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Feb 10 13:48:15 2011 -0800

    test/helper: cleanup fifo after using it

    No need to flood our $TMPDIR :x

commit 5d23e362ee382d57672bf4f21563c94d3b0bca03
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Feb 10 10:44:21 2011 +0000

    hit_n_run: an even more terrible HTTP requester

    It just requests and never cares for a response!

commit cf5b6c3b0664471f3fbd384c50d940d2f6c2781a
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Feb 10 10:25:39 2011 +0000

    add Content-MD5 input filter support

    This means we can make requests with Content-MD5 trailers

commit 20f5a767769aabee3b26ae05c9d8c9532fa84b16
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Feb 10 10:23:35 2011 +0000

    chunky_pipe: error transfer between threads

    Calling IO#close is racy with threads, so we transfer
    the error over to the reader if the writer has to error
    out.

commit 9f97b6012ab0e777adfc342474bb95b5a55f9643
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Feb 10 10:21:27 2011 +0000

    wait: do not poll if pollset is empty

    No point :P

commit a9f76e7e7d78d4d2313819e43c486ecd33cc998a
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Feb 10 10:21:00 2011 +0000

    do not clobber existing error when assigning

commit 711b3503dbcbe08850595796824b84eaf32ba4c4
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Feb 10 08:54:29 2011 +0000

    split out chunky_pipe into it's own module

    It should be top-level and it's a good name, too :D

commit bbb83625d3197d321c4fe4526e0fcdb80ddcc1b9
Author: Eric Wong <normalperson@yhbt.net>
Date:   Thu Feb 10 08:37:43 2011 +0000

    input_splitter -> input_spray, add tests

    It seems to work alright in a unit test environment

commit fb0d48b2ccfced833f879e592d43700d40473c77
Author: Eric Wong <normalperson@yhbt.net>
Date:   Tue Feb 8 19:46:31 2011 -0800

    add untested input_splitter

    It'll be useful for splitting out inputs into different
    requests and processing them in parallel.

commit 89e2b2b90136525d7e7905b3e1fa0e711398f4b3
Author: Eric Wong <normalperson@yhbt.net>
Date:   Tue Feb 8 18:59:32 2011 -0800

    cleanup request handling of input

    Remove unneeded Fiber dependency.

commit 9421276c001adbd8904366e92fe6181ea925a2db
Author: Eric Wong <normalperson@yhbt.net>
Date:   Tue Feb 8 18:59:01 2011 -0800

    test/helper: properly handle worker_processes != 4

    Oops, we're about to start using it

commit 8a5b2fac7f448c35507cb081178ad9027843b335
Author: Eric Wong <normalperson@yhbt.net>
Date:   Tue Feb 8 18:16:01 2011 -0800

    HTTP_Spew.wait retries requests on EINTR

    We may not have rv set yet.

commit 4809a6b7a97a0087899107820a93d70283c9502a
Author: Eric Wong <normalperson@yhbt.net>
Date:   Tue Feb 8 18:13:40 2011 -0800

    add wait_nonblock! and fix wait return values

    Like Process.waitall, we want to wait on and return
    all running requests possible.

commit a898603166528d6eaebcf151008ccd99b01ea115
Author: Eric Wong <normalperson@yhbt.net>
Date:   Tue Feb 8 18:13:17 2011 -0800

    request: document close method

    We don't want to think it's unused.

commit 27696c3947f2339a8f708377ba5618044207340a
Author: Eric Wong <normalperson@yhbt.net>
Date:   Tue Feb 8 18:12:07 2011 -0800

    request: optimize string requests by avoiding Fiber

    No need for Fiber in some cases...

commit 10283cdff905c4af58e633ef052d3823deba6db5
Author: Eric Wong <normalperson@yhbt.net>
Date:   Tue Feb 8 18:11:23 2011 -0800

    test_upload: switch this test to use a temporary file

    We don't want to use too much memory

commit 5312aeb04ae29a6187f39cc655356f1b42402fe0
Author: Eric Wong <normalperson@yhbt.net>
Date:   Tue Feb 8 18:10:14 2011 -0800

    test/helper: allow worker_processes to be specified

    We want to disable parallelization sometimes

commit 3a2e1ac5d3679bfa44056a67118034da50c948d1
Author: Eric Wong <normalperson@yhbt.net>
Date:   Tue Feb 8 15:03:28 2011 -0800

    switch from IO.select to to Kgio.poll

    No high descriptor limits anymore

commit c25326ff75c1e7da0c8e366ce46c84aea6ad094b
Author: Eric Wong <normalperson@yhbt.net>
Date:   Mon Feb 7 08:51:15 2011 +0000

    initial commit

Originally generated with the Darkfish Rdoc Generator 2, modified by wrongdoc.