durusmail: quixote-users: Overlaying a static directory
Overlaying a static directory
2005-04-11
2005-04-12
2005-04-12
2005-04-12
2005-04-13
2005-04-13
2005-04-14
2005-04-14
2005-04-14
2005-04-14
2005-04-14
2005-04-14
2005-04-14
2005-04-14
2005-04-14
2005-04-14
David Binger (3 parts)
2005-04-14
2005-04-14
2005-04-13
2005-04-14
2005-04-14
2005-04-13
SCGI util.
2005-04-12
2005-04-13
2005-04-13
2005-04-13
2005-04-13
Overlaying a static directory
mso@oz.net
2005-04-14
Neil Schemenauer wrote:
> Can you redo the capture, this time grabbing both HTTP and SCGI
> traffic?  E.g.:
>
>     tcpdump -i lo -s 9000 -w scgi.dat port 3000 or port 80
>
> With that above command you would have to connect the browser to
> 'localhost'.  Also, can you send me the Apache access and error logs
> for those requests.  You don't need to produce separate capture
> files, just leave tcpdump run until you get a 500 error.
>
> I have a theory on why StaticDirectory is causing a problem.  It
> probably sets more response headers than other pages.  You could
> test this theory by adding code like this to one of the dynamic
> pages:
>
>     r = get_response()
>     r.set_header('X-Test-1', 'a'*40)
>     r.set_header('X-Test-2', 'a'*40)
>     r.set_header('X-Test-3', 'a'*40)
>
> Thanks for spending time trying to track this done.

Take 2 with a modified Quixote demo has:
/         -- (dynamic) no errors
/apache/  -- (static) usual errors
/foo      -- (dynamic) no errors
/bar      -- (dynamic with extra headers) no errors
/baz      -- (static, same content as bar)  Internal Server Error often


    _q_exports = ["", "simple", "plain", "error", "publish_error", "css",
                  "dumpreq", "extras", ("favicon.ico", "favicon_ico"),
                  "apache", "foo", "bar", "baz"]


    apache = StaticDirectory("/var/www/localhost/htdocs/",
        follow_symlinks=True, index_filenames=["index.html"],
        list_directory=True)

    def foo(self):
        return "Foo!"

    def bar(self):
        r = get_response()
        r.set_header('X-Test-1', 'a'*40)
        r.set_header('X-Test-2', 'a'*40)
        r.set_header('X-Test-3', 'a'*40)
        return "Bar!"

    from quixote.util import StaticFile
    baz = StaticFile('/var/www/localhost/htdocs/baz')



reply