2008-11-18 Christopher Blizzard <blizzard@0xdeadbeef.com>
authorblizzard <blizzard@ae879524-a8bd-4c4c-a5ea-74d2e5fc5a2c>
Wed, 19 Nov 2008 01:42:09 +0000 (01:42 +0000)
committerblizzard <blizzard@ae879524-a8bd-4c4c-a5ea-74d2e5fc5a2c>
Wed, 19 Nov 2008 01:42:09 +0000 (01:42 +0000)
commit245f1225d953634f23e6d01ffcb74fc7bd2ce98e
tree865d9b684707f8bc2f34ce7ad44c94fa26be33a7
parentd457464990e2fc6ecd867f79c919732832038b99
2008-11-18  Christopher Blizzard  <blizzard@0xdeadbeef.com>

        * test-ws.cfg: Enable base_url_filter.base_url to localhost:9090
        for testing to generate proper redirects for tests.

        * whoisi/test_controller.py (TestController): Lots of new methods
        that generate redirects to test url handling.

        * tests/twisted/network/test_download.py: Lots of changes to
        support the new entity_url argument for the download command.
        (TestDownload.test_redirect): Test that tests working redirects.
        (TestDownload.test_redirect_too_many): Test that will make sure we
        throw an exception if there are too many redirects for a resource.

        * services/command/exceptions.py (TooManyRedirectsError): New
        exception when a resource has too many redirects.

        * services/command/download.py: More ongoing work to handle etag
        and last-modified headers.  Also first steps to improve support
        for redirects. doCommand has been modified to require etag,
        last_modified and the entry_url to which the etag and
        last_modified apply.  (The original url which might generate
        redirects might also not have the tags applied to it.)  There is
        also a url stack that is saved as urls are followed.  This can be
        used to match many possible urls to a single resource.  (i.e. what
        feedburner does.)  This will also top out at 5 redirects for a
        single resource and then throw a TooManyRedirectsError.

git-svn-id: svn://trac.whoisi.com/whoisi/trunk@12 ae879524-a8bd-4c4c-a5ea-74d2e5fc5a2c
ChangeLog
services/command/download.py
services/command/exceptions.py
test-ws.cfg
tests/twisted/network/test_download.py
whoisi/test_controller.py